应用程序远程调用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、确认程序所在机器 连接 kafka集群 防火墙是否畅通。
3、集群配置地址问题,集群向zookeeper注册时,地址为localhost或127.0.0.1,故远程访问无法访问。
(例如:在 config/server.properties
中增加 advertised.host.name=10.211.55.5
)
4、端口写错了 2181一个是 9092。(有的人分不清broker和zookeeper的端口号,导致写反了)
一般很多人少了第三步:
在
config/server.properties
中增加advertised.host.name=10.211.55.5
--- 更新线,上面的方式过时了,使用新的 ---
listeners=PLAINTEXT://内网地址:9092
参考来自:Kafka Broker配置
都检查了 依旧无法访问
描述下你的情况,可以新提个问题。
追加一条,最简单的测试是先telnet一下你的地址和端口是否通。
你好,可以转载一下文章吗(附文章地址)
可以
感谢
外网通过ssl访问内网kafka,用9092可以正常发送数据,但是用9093的ssl就不能发送数据。内网中用ssl可以正常发送数据。
外网访问9093报错
‘ERROR Error when sending message to topic test_02 with key: null, value: 9 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback) org.apache.kafka.common.errors.TimeoutException: Topic test_02 not present in metadata after 60000 ms.’
你这个信息太少了,我无从下嘴,你提一个新问题描述一下吧。
你的答案