使用应用程序调用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)
排查步骤
首先确认集群使用命令的方式发送和消费正常。
缺少配置监听地址,在
config/server.properties
中设置listeners
地址,如:listeners=PLAINTEXT://10.211.55.5:9092
(注意:尽量用ip)
确认应用程序所在机器连接到kafka集群是畅通的。(例如:telnet 10.211.55.5 9092)
应用程序调用kafka集群的端口写错了,不是2181,是9092。(有的人分不清broker和zookeeper的端口号)
配置修改后,没有重启kafka集群。
只要按照以上步骤,必能解决问题。
如果还没解决,请到问题专区发起提问。
如果是时不时会报这个错是什么原因吗?服务器io不算高的
检查防火墙。
你的答案