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

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 No appenders could be found for logger (kafka.utils.VerifiableProperties). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. Failed to send messages after 3 tries.

我们尝试了以下方法

  1. 从 Windows 机器 Ping 了 ubuntu 机器,它似乎工作正常
  2. 尝试了 Apache Kafka example error: Failed to send message after 3 tries 的解决方案,但没有用

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

感谢任何帮助

我们终于弄清楚了这个问题...我们是 运行 kafka 在下面提到的混合环境中 post -

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

我们将 host.name 更改为内部 IP 并公布。host.name 为外部 IP。这是同样的问题