【问题标题】:kafka producer throw EOFException during runningkafka生产者在运行期间抛出EOFException
【发布时间】:2015-09-02 02:09:37
【问题描述】:

我正在使用 Kafka 0.8.2.1 和 New Producer API。 服务器设置为本地网络中的单个节点。
问题是制片人在运行了一段时间(我上次检查是 15 分钟)后抛出了一个EOFException,但这似乎并不重要,因为我的制片人在此之后继续工作。

我初始化生产者的方式:

Map<String, Object> configs = new HashMap<>();
configs.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "192.168.1.101:9092");
configs.put(ProducerConfig.ACKS_CONFIG, "1");
configs.put(ProducerConfig.BLOCK_ON_BUFFER_FULL_CONFIG, "false");
configs.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
configs.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
this.producer = new KafkaProducer<>(configs);

我得到的例外:

WARN  [2015-06-17 02:07:28,896] org.apache.kafka.common.network.Selector: Error in I/O with /192.168.1.101
! java.io.EOFException: null
! at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:62) ~[kafka-clients-0.8.2.1.jar:na]
! at org.apache.kafka.common.network.Selector.poll(Selector.java:248) ~[kafka-clients-0.8.2.1.jar:na]
! at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:192) [kafka-clients-0.8.2.1.jar:na]
! at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:191) [kafka-clients-0.8.2.1.jar:na]
! at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:122) [kafka-clients-0.8.2.1.jar:na]
! at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]

即使我的代码仍然适用于此,我想知道为什么以及如何防止它。

【问题讨论】:

标签: apache-kafka


【解决方案1】:

https://issues.apache.org/jira/browse/KAFKA-3205 建议增加connections.max.idle.ms

【讨论】:

    【解决方案2】:

    您是否尝试更改“connections.max.idle.ms”?其默认值为 15 分钟。如果您每 15 分钟看到一次此错误,请尝试减少此超时时间。

    【讨论】:

      猜你喜欢
      • 2018-11-16
      • 2017-05-27
      • 2019-07-28
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 2013-03-02
      • 2019-04-05
      相关资源
      最近更新 更多