我的kafka环境有3 brokers
和1 zookeeper
。我在我的主题中推了大约20K的消息。 Apache Storm
计算主题中由生产者添加的数据。
几个小时过去了,当我试图向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);
答案 0 :(得分:0)
虽然Kafka制作人调优是一个非常难的话题,但我可以想象你的制作人试图生成的记录比传输到你的Kafka集群的记录更快。
有一个生成器设置buffer.memory
,它定义了生产者在阻塞之前可以使用多少内存。默认值为33554432(33 MB)。
如果增加生产者内存,则会避免阻塞。尝试不同的值,例如100MB。