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