问题描述

    某据点演示环境,用代码自动创建topic及kafka-console-consumer.sh手动创建topic,用kafka-topic.sh查看topic详细信息时,leader列显示为none,且SIR列显示为空。如图所示:
日常问题定位——kafka topic leader none ISR为空

解决过程

1、首先想到的是zookeeper /controller目录下是否有值,controller在选举partition leader有重要作用。如下图所示:
日常问题定位——kafka topic leader none ISR为空

2、/brokers/topic/topic名,检查该目录的权限,执行结果显示如下:
日常问题定位——kafka topic leader none ISR为空
3、根据topic partition leader选举过程来说,不应该会出现该问题,只能让现场同事去停掉kafka服务,并且手动清空zookeeper中和kafka相关的一些节点,相关的节点如下所示:

  • /consumers—消费者、消费者组信息
  • /admin—删除的topic
  • /config—配置信息
  • /controller—控制节点的broker.id(没有ip信息有点遗憾)
  • /brokers—集群几点信息,topic信息
  • /controller_epoch—集群经过了多少次controller选取
    手把手教现场运维清理的时候,出现一个现象,让我有了灵感:/controller目录,同事反馈说清除不掉,我第一反应是不可能啊~然后他说确定删除不了。然后我叫他查看一下/controller节点的值。最终,我发现他还有一台机器用这个zookeeper,导致该节点删了又立马创建。

4、我让他修改一下另外一个kafka集群server.properties文件中的zookeeper.connect,让这两个kafka集群写zookeeper的路径不一样。
5、最终,重启了kafka集群之后,可以正常的创建topic,并使用。

相关文章:

  • 2022-12-23
  • 2021-06-17
  • 2022-12-23
  • 2021-11-01
  • 2022-12-23
  • 2021-11-20
  • 2021-11-05
  • 2021-08-24
猜你喜欢
  • 2022-03-06
  • 2021-07-01
  • 2022-12-23
  • 2021-11-03
  • 2021-08-13
  • 2021-09-18
  • 2023-03-12
相关资源
相似解决方案