Как обнаружить недостижимых брокеров Kafka и восстановить соединение? - PullRequest
0 голосов
/ 07 мая 2018

схема: 2 брокера -2 хозяина Клиенты Java - свойство серверов Bootsrap org.apache.kafka.clients.producer.KafkaProducer или org.apache.kafka.clients.consumer.KafkaConsumer содержит 2 IP-адреса (2 посредника) Zookeeper - распределенный координатор

Метод вызова в конструкторе org.apache.kafka.clients.ClientUtil # parseAndValidateAddresses проверяет только серверы в сети без проверяемого экземпляра (проверка сервера не работает или не запускается)

1 Ответ

0 голосов
/ 08 мая 2018

По умолчанию Zookeeper отслеживает все подключенные узлы и доступные брокеры. Вы можете запросить ZK, чтобы увидеть, какие узлы подключены в настоящее время.

# Connect to ZooKeeper
bin/zookeeper-shell.sh  localhost:2181
Connecting to localhost:2181
Welcome to ZooKeeper!
JLine support is disabled

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
    >> ls /brokers/ids
        [1, 2, 3]
    >> ls /brokers/topics
        [myTopic, __consumer_offsets]
    >> get /brokers/ids/0
    Node does not exist: /brokers/ids/0
    >> get /brokers/ids/1
    {"listener_security_protocol_map":{"PLAINTEXT":"PLAINTEXT","SSL":"SSL"},"endpoints":["PLAINTEXT://172.31.4.17:9092","SSL://18.216.252.106:9093"],"jmx_port":9999,"host":"172.31.4.17","timestamp":"1522349056258","port":9092,"version":4}
    cZxid = 0x3000005f3
    ctime = Thu Mar 29 18:44:16 UTC 2018
    mZxid = 0x3000005f3
    mtime = Thu Mar 29 18:44:16 UTC 2018
    pZxid = 0x3000005f3
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x2625d127c0b0003
    dataLength = 234
    numChildren = 0
...