I / O中的Kafka错误java.io.EOFException:null

时间:2015-10-30 08:55:12

标签: apache-kafka

我正在使用Kafka 0.8.2.0(Scala 2.10)。在我的日志文件中,我间歇地看到以下消息。这似乎是一个连接问题,但我在我的localhost中运行。

这是一条无害的警告信息,还是应该采取措施避免它?

2015-10-30 14:12:38.015  WARN 4251 --- [ad | producer-1] [                                    ] o.apache.kafka.common.network.Selector   : Error in I/O with localhost/127.0.0.1

java.io.EOFException: null
    at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:62)
    at org.apache.kafka.common.network.Selector.poll(Selector.java:248)
    at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:192)
    at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:191)
    at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:122)
    at java.lang.Thread.run(Thread.java:745)

2 个答案:

答案 0 :(得分:6)

这对党来说有点晚了,但可能对某人有所帮助 - 这对我有所帮助。

您看到的内容是因为Kafka经纪人在超过一定的闲置时间后被动关闭连接。它由此代理属性定义:connections.max.idle.ms - 默认值为10分钟。

显然,0.8.x中的kafka客户端并不尊重该设置,只是让空闲连接保持打开状态。您将在日志中看到警告,但它应该对您的应用程序产生不良影响。

此处有更多详情:https://issues.apache.org/jira/browse/KAFKA-3205

此处记录了代理配置:https://kafka.apache.org/090/documentation/#configuration

在该表中,您将找到:

Name: connections.max.idle.ms
Description: Idle connections timeout: the server socket processor threads close the connections that idle more than this
Type:long
Default: 600000

希望有所帮助。

答案 1 :(得分:0)

好像您的制作人无法连接到kafka经纪人。我建议您尝试使用kafka控制台生成器发送一些消息,以验证您的系统配置是否正确。