一次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再重启。

ps : https://www.qedev.com/bigdata/117719.html
一些博客如上文,提到的解决办法为:删除 logs文件夹再重启,因为是生产环境的数据,故没有尝试。

3
关闭kafak,其自带的 kafak-server-stop.sh 使用无效。jps依然可以看到kafka。https://www.cnblogs.com/ro0k1e/p/12521019.html

jps # 显示kafka pid
kill -9 pid
or
执行 netstat -lnp|grep 9092 
在执行结果中找到进程号
执行 kill -9 进程号
再尝试启动Kafka

4
重新启动之后,程序正常运行。但又一个问题:之前使用上述启动命令,是后台自动启动的,但是现在不是了,故使用后台启动命令:

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

三 同样的错误(2020-8-3)

这次kafak运行正常,但是依然kafka.errors.NoBrokersAvailable , 重启之后bug消失。但不知何原因。

四、bug再现 (2020-9-24)

依旧是重启kafak

posted @   木叶流云  阅读(12160)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示