栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

解决python-kafka连接kafka时报错kafka.errors.NoBrokersAvailable: NoBrokersAvailable

解决python-kafka连接kafka时报错kafka.errors.NoBrokersAvailable: NoBrokersAvailable

完整报错:

Traceback (most recent call last):
  File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/pydevd.py", line 1483, in _exec
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"n", file, 'exec'), glob, loc)
  File "/Users/xq/Desktop/data/pycharm_pro/Test_alg/python_kafka/generator.py", line 11, in 
    producer = KafkaProducer(bootstrap_servers='localhost:1234')
  File "/Users/xq/.conda/envs/pycharm_env/lib/python3.8/site-packages/kafka/producer/kafka.py", line 381, in __init__
    client = KafkaClient(metrics=self._metrics, metric_group_prefix='producer',
  File "/Users/xq/.conda/envs/pycharm_env/lib/python3.8/site-packages/kafka/client_async.py", line 244, in __init__
    self.config['api_version'] = self.check_version(timeout=check_timeout)
  File "/Users/xq/.conda/envs/pycharm_env/lib/python3.8/site-packages/kafka/client_async.py", line 900, in check_version
    raise Errors.NoBrokersAvailable()
kafka.errors.NoBrokersAvailable: NoBrokersAvailable
解决方法

在初始化的时候传入api的版本,即:
修改:

producer = KafkaProducer(bootstrap_servers='localhost:1234')

producer = KafkaProducer(bootstrap_servers='localhost:1234', api_version=(0, 10, 2))

这个版本对应自己的kafka版本,一个比较安全的值是:0.10.2,更多版本信息可以参考:https://cwiki.apache.org/confluence/display/KAFKA/Compatibility+Matrix

问题解析

python-kafka并不会给太多报错的细节,所以这需要我们查看报错位置,这里的报错:

    self.config['api_version'] = self.check_version(timeout=check_timeout)

可知是api_version的报错,因此我们只需查看相关资料,即可得到解决方案

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/747590.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号