在用 Java 发送消息之前,请检查 Kafka 客户端生产者是否正在运行



我正在使用 kafka 客户端 v 0.8.0 jar 文件作为生产者发送 kafka 消息。但在发送之前,我想检查一下卡夫卡是否启动。我该怎么做?

您可以检查 Zookeeper 中是否存在您的代理之一。

经纪人的 id 在 zookeeper(/brokers/ids/[brokerId]( 中注册为 临时节点,允许其他代理和使用者检测 失败。(现在健康的定义相当幼稚,如果 在 zk/brokers/ids/[brokerId] 中注册,该代理是健康的, 否则它就死了(。

只要代理的会话是 积极。

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

请参阅堆栈溢出问题

如果你只是想直接看到经纪人什么时候死,将 ACKS 属性设置为 1 或 all(-1( 或/和 max.in.flight.requests.per.connection 属性设置为 1。

最新更新