一次kafka報錯記錄 : kafka.errors.NoBrokersAvailable
kafka.errors.NoBrokersAvailable
一、問題起因:
在執行 consumer = KafkaConsumer(bootstrap_servers=broker_list)時,
報錯:kafka.errors.NoBrokersAvailable
二、解決過程
1、
百度谷歌,https://github.com/dpkp/kafka-python/issues/1308?tdsourcetag=s_pctim_aiomsg
這裡說因為沒有設定api_version。當設定api_version 之後,沒提示kafka.errors.NoBrokersAvailable,但是程式卡住不動。
2、
搜尋過程中看到這個文章,因此想新建一個topic 進行測試。
bin/kafka-topics.sh --create --topic topicname --replication-factor 1 --partitions 1 --zookeeper localhost:2181
產生了新的錯誤:Replication factor: 1 larger than available brokers: 0
意味著 kafka關掉了沒有重新啟動 。因此去啟動kafka
bin/kafka-server-start.sh config/server.properties
此時,又報錯:Failed to acquire lock on file .lock in /tmp/kafka-logs. A Kafka instance in another process or thread is using this directory.
說明是kafka啟動的問題,但是檢視kafka程序,其是存在的。所以關閉kafka再重啟。
3
關閉kafak,其自帶的 kafak-server-stop.sh 使用無效。jps依然可以看到kafka。https://www.cnblogs.com/ro0k1e/p/12521019.html
jps # 顯示kafka pid kill -9 pid
4
重新啟動之後,程式正常執行。但又一個問題:之前使用上述啟動命令,是後臺自動啟動的,但是現在不是了,故使用後臺啟動命令:
bin/kafka-server-start.sh -daemon config/server.properties