1. 程式人生 > >kafka啟動報錯&問題解決

kafka啟動報錯&問題解決

kafka啟動報錯&問題解決

一早上班,就收到運維同事通知說有一臺物理機宕機,導致虛擬機器掛了。只得重啟kafka伺服器。

1.啟動

啟動zookeeper

bin/zkServer.sh start conf/zoo.cfg &

啟動kafka

bin/kafka-server-start.sh config/server.properties &

2.測試

問題一

kafka啟動之後,發現一直列印warn,上圖。且在程序中ps -ef| grep kafka,無法看到。很明顯kafka啟動失敗了。

Resetting first dirty offset of __consumer_offsets

從重複報錯資訊中可以得知,這是清理執行緒在一直遇到問題。最快的方式當前是清空kafka的data目錄。或者不管這個warn,當大量資料湧入的時候,產生了可以清理的segment,就不會再有這個warn了。參考 https://blog.csdn.net/define_us/article/details/80537186。

問題二

正常啟動kafka之後,測試能否使用走一波。

建立topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

生產者生產訊息

[[email protected] kafka_2.11-1.1.0]$ bin/kafka-console-producer.sh --broker-list 10.17.156.8:9092 --topic test

my name is xiaoqiang

消費者消費訊息

[[email protected] kafka_2.11-1.1.0]$ bin/kafka-console-consumer.sh --bootstrap-server 10.17.156.8:9092 --topic test --from-beginning

my name is xiaoqiang

至此,kafka啟動完成,正常使用。 ctrl+c,關掉Xshell視窗,專心碼程式碼。測試應用的時候發現,一堆報錯全部指向連不上kafka。再戰kafka伺服器,發現kafka程序已不在。

kafka啟動正常

應用啟動正常

ctrl+c

應用連線kafka報錯

kafka程序被幹掉

最終問題發現: 退出kafka時不用ctrl+c, 要用exit函式去退出