在java中发送消息之前检查kafka客户端生成器是否正在运行

时间:2017-03-17 04:09:10

标签: java apache-kafka

我使用kafka client v 0.8.0 jar文件作为生产者发送kafka消息。但在发送之前我想检查Kafka是否已经启动。我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以检查Zookeeper中是否存在您的某个代理。

  

经纪人的身份证在zookeeper(/ brokers / ids / [brokerId])中注册为   短暂节点,允许其他经纪人和消费者进行检测   失败。(现在健康的定义相当幼稚。如果   在zk / brokers / ids / [brokerId]注册,经纪人是健康的,   否则就死了。

     只要代理人的会话是,就会存在 zookeeper临时节点   活性。

     

您可以检查经纪人是否通过   ZkUtils.getSortedBrokerList(zkClient),返回所有活动代理   id / brokers / ids下的id

see stack overflow question

如果你只想直接看到经纪人去世的时候, 将acks属性设置为1或all(-1)或/和max.in.flight.requests.per.connection属性为1.