*遇到kafka的问题千万不要直接删除kafka-manager里的topic,会导致topic不能再使用,首先需要确认kafka是否可用*
一、部署机器
- test33-1
- test34-2
- test35-3
二、排查问题
1、33环境不能用topic能用,tcp报错如下图
(1)验证kafka是否可用
开启一个生产者和消费者查看kafka是否正常,如下
路径:cd /usr/local/kafka/1/bin 生产者:sh kafka-console-producer.sh --broker-list 10.30.200.155:15386 --topic CAR_NEARBY_DRIVER 消费者:sh kafka-console-consumer.sh --bootstrap-server 10.30.200.155:15386 --topic CAR_NEARBY_DRIVER --new-consumer |
---|
生产者:
消费者:
如上情况是正常的,如果不正常建议首先重启kafka集群
kafka.1.server restart |
---|
2、topic误删导致无法使用topic
如果误删了topic简单的重新创建是无法修复问题的,就需要进行一次彻底的删除,重启集群,再次重新创建topic,
删除zk的topic节点
路径:cd /usr/local/zookeeper/1/bin 指令:sh zkCli.sh -server {zkAndPort} rmr /config/topics/{topicName} rmr /brokers/topics/{topicName} |
---|
清除集群各个broker下面的以下目录的topic文件,集群中的三台机器都需要操。
路径:cd /ccdata/kafka/1/kafka-logs/ 删除:rm {topicName}* 查看:ls {topicName}* |
---|
重启集群,待重启完成后可以重新创建topic
路径:cd /usr/local/kafka/1/bin 创建:sh kafka-topics.sh --create --zookeeper {zkAndPort} --replication-factor 1 --partitions 3 --topic {topicName} |
---|
测试topic是否可用
生产者:sh kafka-console-consumer.sh --bootstrap-server {kafkaAndPort} --topic {topicName} --new-consumer 消费者:sh kafka-console-producer.sh --broker-list {kafkaAndPort} --topic {topicName} |
---|
3、以上就是一次简单排查kafka的问题流程
操作时需要注意切换对应环境:1-33,2-44。
消息消费不到场景问题排查: