Apache Kafka Producer错误:尝试3次后无法发送消息

时间:2015-10-10 13:52:58

标签: java ubuntu apache-kafka kafka-producer-api

我们在Linux Ubuntu服务器上安装了kafka,并使用批处理文件测试了通信 - kafka-console-producer.sh kafka-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找不到记录器的appender   (kafka.utils.VerifiableProperties)。 log4j:WARN请初始化   log4j系统正常。 log4j:警告请参阅   http://logging.apache.org/log4j/1.2/faq.html#noconfig了解更多信息。   3次尝试后无法发送消息。

我们尝试了以下

  1. 从Windows机器上ping ubuntu机器似乎工作正常
  2. 尝试了来自Apache Kafka example error: Failed to send message after 3 tries的解决方案,但它无法正常工作
  3. 我们观察到一个奇怪的事情,当我们在服务器上运行以下命令时 - bin / kafka-topics.sh --list --zookeeper localhost:2181,我们发现主题是从Java代码创建的,但消息未发布

    感谢任何帮助

1 个答案:

答案 0 :(得分:1)

我们终于找到了问题......我们在混合环境中运行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 - Unable to publish messages