Kafka報錯:connection reset by peer
在kafka的server.log中發現持續爆出如下錯誤資訊:
[2018-10-24 19:18:43,103] ERROR Closing socket for /xxx.xxx.xxx.xxx because of error (kafka.network.Processor) java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) at sun.nio.ch.IOUtil.read(IOUtil.java:197) at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380) at kafka.utils.Utils$.read(Utils.scala:380) at kafka.network.BoundedByteBufferReceive.readFrom(BoundedByteBufferReceive.scala:54) at kafka.network.Processor.read(SocketServer.scala:444) at kafka.network.Processor.run(SocketServer.scala:340) at java.lang.Thread.run(Thread.java:745)
查了下原因,是因為kafka的客戶端異常關閉,而Kafka仍在向其推送資料導致的。
沒有找到太好的解決辦法。最後使用了一個笨方法:先停掉所有的生產者和消費者服務,再停掉Kafka;而後重啟Kafka、重啟停掉的服務。這樣異常就消失了。
後來又發現這個異常斷續出現了幾次,因為是測試環境,懶得去管它,神奇的是居然最後也自動恢復了。
######