1、程序在向 kafka 集群发送数据之前,需要检测 kafka 集群状态,若集群正常,则开始发送数据;否则,不发送数据,处理问题。请问该怎么判断 kafka 集群状态呢? 2、我找到上述问题的一个解决方案,是查看 ZooKeeper 上的 kafka节点的状态。但是我不确定该方法是否真的能说明问题,即若 ZooKeeper 上显示kafka 节点异常,能否直接断定该kakfa节点真的有问题呢? 环境: kafka 2.3 jdk 1.8 ZooKeeper 3.5
理论上,kafka是一直要可用的,所以发消息前,是不需要关心kafka集群是否可用。
另外,如果kafka集群真的不可用了,发送消息的时候也自然会报错了。
所以我不希望你过度复杂。
最后,如果你想查通过程序看kafka的状态,参考:https://www.orchome.com/9994
感谢您的指点
通过判断对应topic的每个分区的副本是否都在,命令行的形式是:
## 查询集群描述 bin/kafka-topics.sh --describe --zookeeper 127.0.0.1:2181 ## 查询集群描述(新) bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic foo --describe
参考来自:kafka命令大全
你的答案