kafka問題集(一):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.....后面的提示信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM