異常信息:
2018-03-20 23:34:01,887 [myid:99] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@197] - Accepted socket connection from /10.121.82.229:33749 2018-03-20 23:34:01,887 [myid:99] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@793] - Connection request from old client /10.121.82.229:33749; will be dropped if server is in r-o mode 2018-03-20 23:34:01,887 [myid:99] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@839] - Client attempting to establish new session at /10.121.82.229:33749 2018-03-20 23:34:01,890 [myid:99] - INFO [CommitProcessor:99:ZooKeeperServer@595] - Established session 0x6362257b44e5068d with negotiated timeout 10000 for client /10.121.82.229:33749 2018-03-20 23:34:21,859 [myid:99] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@349] - caught end of stream exception EndOfStreamException: Unable to read additional data from client sessionid 0x6362257b44e5068d, likely client has closed socket at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:220) at org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208) at java.lang.Thread.run(Thread.java:745) 2018-03-20 23:34:21,860 [myid:99] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1001] - Closed socket connection for client /10.121.82.229:33749 which had sessionid 0x6362257b44e5068d
核心報錯信息:
EndOfStreamException: Unable to read additional data from client sessionid 0x6362257b44e5068d, likely client has closed socket
具體問題所在:
客戶端連接Zookeeper時,配置的超時時長過短。致使Zookeeper還沒有讀完Consumer的數據,連接就被Consumer斷開了。
解決方案:
初始化Zookeeper連接時,將接收超時參數值調整大一些即可(tickTime2000改為10000),默認是毫秒(ms)