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