1. kafka服务进程是否在
2. kafka依赖的zookeeper服务是否正常
3. kafka节点状态判断,kafka的broker.id是否与zookeeper上对应的/brokers/ids下的具体数字是否对的上**
[zk: 11.1.1.1:****(CONNECTED) 0] ls /brokers/ids
· [2, 3, 4]
4. zookeeper上topic信息,分区的leader与isr列表信息是否与 步骤3中的ids对的上
(topic的分区的副本分配信息与当前kafka broker id是否一致,常见问题是卸载kafka后重装,broker id重新生成后,Zookeeper上的残留信息导致):
[zk: 11.1.1.1:****(CONNECTED) 1] get /brokers/topics/topic_ovs_northport/partitions/0/state
{"controller_epoch":1012,"leader":4,"version":1,"leader_epoch":346,"isr":[3,2,4]}
5. kafk集群上的topic信息,是否创建成功
6. kafk集群上的topic信息,是否就绪,leader是否选举成功,一般通过describe查看topic的状态
7. consumer是否创建成功,同一个group id 组中的consumer数量是否大于订阅的topic的分区数量,此场景有可能有的consumer无法分配分区,获取消息失败
8. consumer处理消息的时间是否过长,如果过长,有可能导致提交offset位失败,组重新发生reblance,导致消息重复消费
9. 消费线程是否跑飞,生产线程是否跑飞;一般jstack、jmap搞出线程和内存堆栈来,结合业务代码来看
10. kafka client底层的发送和接受数据的线程是否跑飞,当前有发生OOM异常的场景会导致跑飞;
线程名称:
kafka-producer-network-thread | producer-
consumer心跳线程名: kafka-coordinator-heartbeat-thread |