2017-03-17 26 views
0

我正在使用kafka客戶端v 0.8.0 jar文件發送kafka消息作爲生產者。但在發送之前,我想檢查一下卡夫卡是否啓動。我該怎麼做呢?在發送消息之前檢查kafka客戶端生產者是否正在運行使用java

+0

可能的重複[是否有任何方法檢查if卡夫卡正在運轉m kafka-net](http://stackoverflow.com/questions/35807374/is-there-any-way-to-check-if-kafka-is-up-and-running-from-kafka-net) – BSMP

+0

參考到我的答案在這裏[https://stackoverflow.com/questions/37920923/how-to-check-whether-kafka-server-is-running/49170778#49170778](https://stackoverflow.com/questions/37920923/如何做檢查,無論-卡夫卡服務器正在運行/ 49170778#49170778) –

回答

0

您可以檢查一下您的經紀人是否存在於Zookeeper中。

經紀ID在飼養員登記(/經紀人/ IDS/[brokerId])作爲 短暫的節點,這讓其他經紀人和消費者檢測 故障。(現在健康的定義是相當幼稚的,如果 在zk/brokers/ids/[brokerId]中註冊,那麼經紀人是健康的,否則它已經死亡)。

只要代理的會話爲 活動,zookeeper臨時節點就存在。

您可以檢查是否經紀人通過 ZkUtils.getSortedBrokerList(zkClient)就到了,這回所有的活動經紀人下/經紀人 ID/IDS

see stack overflow question

如果你只是想直接看到當經紀人死亡時, 將acks屬性設置爲1或全部(-1)或/和max.in.flight.requests.per.connection屬性爲1.

相關問題