应用程序远程调用kafka发送异常

半兽人 发表于: 2016-03-31   最后更新时间: 2021-09-06 10:42:39   12,669 游览

应用程序远程调用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的端口号,导致写反了)

发表于 2016-03-31
在线,4小时前登录

一般很多人少了第三步:

config/server.properties 中增加

advertised.host.name=10.211.55.5

--- 更新线,上面的方式过时了,使用新的 ---

listeners=PLAINTEXT://内网地址:9092

参考来自:Kafka Broker配置

z -> 半兽人 3年前

都检查了 依旧无法访问

半兽人 -> z 3年前

描述下你的情况,可以新提个问题。

追加一条,最简单的测试是先telnet一下你的地址和端口是否通。

你好,可以转载一下文章吗(附文章地址)

半兽人 -> 3年前

可以

-> 半兽人 3年前

感谢

外网通过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.’

你这个信息太少了,我无从下嘴,你提一个新问题描述一下吧。

你的答案

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