kafka 集群启动失败:FATAL [KafkaServer id=0] Fatal error during KafkaServer startup.
在測試 kafka 集群時,關閉 kafka 后,再次啟動 kafka 集群時,遇到此問題,具體內容如下:
FATAL [KafkaServer id=0] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
java.lang.RuntimeException: A broker is already registered on the path /brokers/ids/0
關于這個異常,其實很簡單,因為 broker id 為全局唯一的,異常信息很明顯的告訴我們 id 為 0 的代理已經被注冊了,可以到自己的 /brokers/ids/ 下去看看,全部的 broker id 都存儲在這兒;
關于這個問題的解決辦法,我摸索出了三種,如下:
第一種:server.properties 入手
修改系統配置文件的 broker.id ,如 1、2、3 已經注冊過了,就修改為 4、5、6,如果你從頭到尾都是按照我的教程來的,那么就請修改 server_001.properties ,輸入命令“ vi server_001.properties ” 修改完成后,保存即可正常啟動了;
第二種:meta.properties 入手
如果按照我的教程來的,請到 “ ?” 中找到 meta.properties 配置文件,輸入命令 “ vi meta.properties ” 修改 broker.id 為全局唯一,
注:如果不是這個路徑,請到配置文件 log.dir 所對應的目錄下,即可找到 meta.properties 配置文件。
第三種:直接刪除已經注冊的 broker id
當 broker 啟動后,會在zk新建一個znode,訪問 zk 很簡單,如果按照我的教程步驟來的,
輸入命令 “ bin/zkCli.sh -server 192.168.1.23:2181 ” 鏈接到 zk 集群, 并執行 ls /brokers/ids 就可以看到zk中存的所有的broker id 了,
刪除broker id,在新版本中輸入命令 “ deleteall /broker/ids ” 進行刪除,在舊版本中輸入命令 “ rmr /brokers/ids ” 進行刪除。
總結
以上是生活随笔為你收集整理的kafka 集群启动失败:FATAL [KafkaServer id=0] Fatal error during KafkaServer startup.的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kafka报错打开文件数过多导致kafk
- 下一篇: kafka版本 不对问题