【问题标题】:Kafka producer is not able to update metadata after some time一段时间后,Kafka 生产者无法更新元数据
【发布时间】:2016-10-03 09:17:25
【问题描述】:

我有一个包含3 brokers1 zookeeper 的kafka 环境。我在我的主题中推送了大约 20K 条消息。 Apache Storm正在计算生产者添加的topic中的数据。

几个小时过去了,当我尝试向 kafka 发送消息时,它显示以下异常

org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.

重新启动 kafka 服务器后,它工作正常。 但是在production 上,我无法每次都重新启动我的服务器。 所以任何人都可以帮助我找出我的问题。

我的kafka配置如下:

prodProperties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"list of broker");
prodProperties.put(ProducerConfig.ACKS_CONFIG, "1");
prodProperties.put(ProducerConfig.RETRIES_CONFIG, "3");
prodProperties.put(ProducerConfig.LINGER_MS_CONFIG, 5);

【问题讨论】:

  • 你查看kafka服务器的日志有什么发现吗?
  • 我对 Storm 无能为力,但对于 Flink,我们遇到了问题,即 Flink 每 10 毫秒与 Kafka Broker 同步一次,并且在 __consumer_offset 主题上产生了非常高的负载,因此没有任何工作正常。检查日志并使用监控工具检查代理端的负载。顺便说一句-zookeeper 的单个实例是非常糟糕的主意(TM)-生产系统至少需要 3 个。

标签: apache-kafka apache-storm kafka-producer-api


【解决方案1】:

虽然 Kafka 生产者调优是一个相当困难的话题,但我可以想象您的生产者试图生成记录的速度比传输到 Kafka 集群的速度要快。

有一个生产者设置buffer.memory,它定义了生产者在阻塞之前可以使用多少内存。默认值为 33554432 (33 MB)。

如果你增加生产者内存,你将避免阻塞。尝试不同的值,例如 100MB。

【讨论】:

    猜你喜欢
    • 2016-06-12
    • 2016-02-13
    • 1970-01-01
    • 2022-06-13
    • 2018-04-06
    • 2019-03-18
    • 2019-11-09
    • 1970-01-01
    • 2016-06-11
    相关资源
    最近更新 更多