报错如图:
解决方法如下:
1.调整连接超时时间 #经过一个下午的排错后,最终通过这个办法解决了。
zookeeper.connection.timeout.ms=6000 连接超时时间改为60000,即60秒,默认是6秒
在重新启动kafka,不要用-daemon或&后台启动,直接前台启动,查看输出信息,是否有明显位置报错,我当时就是这样操作的,启动就好了。我想应该是默认的6秒太短了,kafka没法与我部署的zookeeper集群及时通信造成的。
2.请仔细检查kafka配置文件中的zookeeper连接的ip和端口是否正确。
zookeeper.connect=10.30.30.13:2181,10.30.30.33:2181,10.30.30.52:2181
3.版本不一致导致的。
kafka安装目录下的libs下有当前kafka版本对应的zookeeper版本
我的环境如下:
kafka_2.12-2.1.1
zookeeper-3.4.13
注:开始用的zookeeper-3.4.6版本不行,以为是版本不对,换了zookeeper-3.4.13仍然不行,说明这个版本不是要一一完全对应。
版本对照表参考博客:
https://www.cnblogs.com/ro0k1e/p/12459226.html
4.控制台输出Will not attempt to authenticate using SASL,被此误导,一直以为是认证的问题。
1)zookeeper关闭了认证,仍然不行
2)按照阿里云的博客,添加了认证,仍然不行。
https://developer.aliyun.com/article/708449