如何确认kafka集群状态是否正常?

夏天 发表于: 2021-01-04   最后更新时间: 2022-02-14 13:05:44   20,410 游览

1、程序在向 kafka 集群发送数据之前,需要检测 kafka 集群状态,若集群正常,则开始发送数据;否则,不发送数据,处理问题。请问该怎么判断 kafka 集群状态呢?

2、我找到上述问题的一个解决方案,是查看 ZooKeeper 上的 kafka节点的状态。但是我不确定该方法是否真的能说明问题,即若 ZooKeeper 上显示kafka 节点异常,能否直接断定该kakfa节点真的有问题呢?

环境:

  1. kafka 2.3
  2. jdk 1.8
  3. ZooKeeper 3.5
发表于 2021-01-04

理论上,kafka是一直要可用的,所以发消息前,是不需要关心kafka集群是否可用。
另外,如果kafka集群真的不可用了,发送消息的时候也自然会报错了。
所以我不希望你过度复杂。

最后,如果你想查通过程序看kafka的状态,参考:https://www.orchome.com/9994

夏天 -> 半兽人 4年前

感谢您的指点

通过判断对应topic的每个分区的副本是否都在,命令行的形式是:

## 查询集群描述
bin/kafka-topics.sh --describe --zookeeper 127.0.0.1:2181

## 查询集群描述(新)
bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic foo --describe

参考来自:kafka命令大全

你的答案

查看kafka相关的其他问题或提一个您自己的问题