【问题集】broker少于kafka节点数

问题集仅为个人实践,若有不准确的,欢迎交流!


 一、现象:

  集群有3台kafka服务器,而kafka 的9002界面上broker仅有2个;log.dirs配置路径为/data/kafka/data,而创建的topic数据都存放在默认路径下/tmp/kafka-logs。

二、分析过程

  检查server.properties中log.dirs目录配置正确。查看日志目录,发现报错如下:

FATAL kafka.server.KafkaServer {...},Fatal error during kafkaServer startup.....:Socket sever failed to bind to 0.0.0.0:9092:地址已在被使用

  从报错信息上可知,应该是端口号被占用了,停止kafka服务,使用命令:

lsof -i:9092

查看发现还有进程使用9092端口,kill到相应进程,重启服务,恢复正常。

三、延伸

  启动kafka后,新建topic的数据所在地址正确了,但consumer的位置文件__consumer_offset_可能还在之前的/tmp/kafka-logs下,此时,可以尝试在kafka 9002界面上删除__consumer_offset_后,重启kafka服务。

  不好但可行的方案:可以手动删除/tmp/kafka-logs下所有的文件,重启kafka服务,一切恢复正常。后遗症是:使用--list 选项查询topic时,可能还能存在,此时想彻底删除只能执行非常不推荐的方法:手动删除zookeeper目录下对应文件。

四、总结

  发现报错信息以后可以多分析报错信息  at.....后面的提示信息。

猜你喜欢

转载自www.cnblogs.com/love-yh/p/10241376.html