一次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、
https://wp.huangshiyang.com/kafkapython-转使用python操作kafka
搜索过程中看到这个文章,因此想新建一个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
上一篇:Context [/] startup failed due to previous errors


下一篇:Manifest merger failed with multiple errors, see logs 问题处理