kafka运行两天莫名断掉,查看kafka,zookeeper日志,发现错误:
WARN caught end of stream exception (org.apache.zookeeper.server.NIOServerCnxn)
EndOfStreamException: Unable to read additional data from client sessionid 0x167e90bd7b1000b, likely client has closed socket
at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:239)
at org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:203)
at java.lang.Thread.run(Thread.java:745)
问题:
配置的超时时间太短,Zookeeper没有读完Consumer的数据,连接就被Consumer断开了!
解决:
在config/server.properties文件中将超时连接属性的值调大一点,如下:
zookeeper.session.timeout.ms=400000
易混淆参数解释
#如果其超时,将会可能触发rebalance并认为已经死去
zookeeper.session.timeout.ms 6000
#确认zookeeper连接建立操作客户端能等待的最长时间
zookeeper.connection.timeout.ms 6000