kafka正常运行,producer连接时却出现NoBrokersAvailableError错误
这是由于kafka默认使用hostname作为meta信息,如果producer使用ip连接的时候就会导致zookeeper无法识别从而报错。
这样就有两种解决思路,一是配置host,然后使用host进行连接。二是如果不愿意配置host的话,可以修改默认的listener参数:
- 进入
/usr/local/kafk
(kafka的安装目录) - 修改
config/server.properties
中的默认参数,有一个配置参数listeners表示kafka服务监听的地址,把这个改成listeners=PLAINTEXT://x.x.x.x:9092
然后重启服务。