繁体   English   中英

Apache Kafka Producer错误:3次尝试后发送消息失败

[英]Apache Kafka Producer error: Failed to send message after 3 tries

我们已经在Linux Ubuntu服务器上安装了kafka,并使用批处理文件kafka-console-producer.shkafka-console-consumer.sh测试了通信,发现我们可以发布和接收消息

在同一网络上运行的Windows计算机上。 我们编写了一个Java生产者客户端,其代码如下所示

Properties properties = new Properties();
properties.put("metadata.broker.list","192.168.7.1:9092");
properties.put("serializer.class","kafka.serializer.StringEncoder");
ProducerConfig producerConfig = new ProducerConfig(properties);
kafka.javaapi.producer.Producer<String,String> producer = new kafka.javaapi.producer.Producer<String, String>(producerConfig);
KeyedMessage<String, String> message =new KeyedMessage<String, String>("Calamp2","Test message from java program ");
producer.send(message);
producer.close();

运行客户端时,出现以下错误

log4j:WARN找不到记录器的附加程序(kafka.utils.VerifiableProperties)。 log4j:WARN请正确初始化log4j系统。 log4j:WARN有关更多信息,请参见http://logging.apache.org/log4j/1.2/faq.html#noconfig 3次尝试后未能发送消息。

我们尝试了以下

  1. 从Windows机器对ubuntu机器执行Ping操作,看来工作正常
  2. 尝试了来自Apache Kafka示例错误的解决方案:3次尝试后都无法发送消息 ,但是它不起作用

我们发现有一件奇怪的事,当我们在服务器上运行以下命令-bin / kafka-topics.sh --list --zookeeper localhost:2181时,我们发现主题是从Java代码创建的,但是消息未发布

任何帮助表示赞赏

我们终于解决了这个问题...我们在混合环境中运行kafka,如下文所述-

https://medium.com/@thedude_rog/running-kafka-in-a-hybrid-cloud-environment-17a8f3cfc284

我们将host.name更改为内部IP,并将advertised.host.name更改为外部IP。 这是与Kafka 0.8.2.2相同的问题-无法发布消息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM