kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.【解决】

半兽人 发表于: 2016-08-17   最后更新时间: 2021-09-06 18:51:33   9,898 游览

使用应用程序调用kafka集群时,出现kafka.common.FailedToSendMessageException: Failed to send messages after 1 tries.

错误如下
[2016-04-13 15:45:14,347] ERROR Failed to send requests for topics test with correlation ids in [0,12] (kafka.producer.async.DefaultEventHandler:97)
Exception in thread "main" kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.
    at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:91)
    at kafka.producer.Producer.send(Producer.scala:77)
    at kafka.javaapi.producer.Producer.send(Producer.scala:33)
    at com.sxj.kfk.ProducerSample.main(ProducerSample.java:34)

排查步骤

  1. 首先确认集群使用命令的方式发送和消费正常。

  2. 缺少配置监听地址,在config/server.properties中设置listeners地址,如:

    listeners=PLAINTEXT://10.211.55.5:9092
    

    (注意:尽量用ip)

  3. 确认应用程序所在机器连接到kafka集群是畅通的。(例如:telnet 10.211.55.5 9092)

  4. 应用程序调用kafka集群的端口写错了,不是2181,是9092。(有的人分不清broker和zookeeper的端口号)

  5. 配置修改后,没有重启kafka集群。

只要按照以上步骤,必能解决问题。

发表于 2016-08-17
添加评论

如果还没解决,请到问题专区发起提问。

鹅鹅鹅鹅 -> 半兽人 5年前

如果是时不时会报这个错是什么原因吗?服务器io不算高的

半兽人 -> 鹅鹅鹅鹅 5年前

检查防火墙。

你的答案

查看kafka相关的其他问题或提一个您自己的问题