我使用kafka client v 0.8.0 jar文件作为生产者发送kafka消息。但在发送之前我想检查Kafka是否已经启动。我该怎么做?
答案 0 :(得分:1)
您可以检查Zookeeper中是否存在您的某个代理。
经纪人的身份证在zookeeper(/ brokers / ids / [brokerId])中注册为 短暂节点,允许其他经纪人和消费者进行检测 失败。(现在健康的定义相当幼稚。如果 在zk / brokers / ids / [brokerId]注册,经纪人是健康的, 否则就死了。
只要代理人的会话是,就会存在zookeeper临时节点 活性。 您可以检查经纪人是否通过 ZkUtils.getSortedBrokerList(zkClient),返回所有活动代理 id / brokers / ids下的id
如果你只想直接看到经纪人去世的时候, 将acks属性设置为1或all(-1)或/和max.in.flight.requests.per.connection属性为1.