Java Apache Kafka生产者错误:尝试3次后发送消息失败

Java Apache Kafka生产者错误:尝试3次后发送消息失败,java,ubuntu,apache-kafka,kafka-producer-api,Java,Ubuntu,Apache Kafka,Kafka Producer Api,我们已经在Linux Ubuntu服务器上安装了kafka,并使用批处理文件--kafka console producer.sh和kafka console consumer.sh测试了通信,发现我们可以发布和接收消息 在同一网络上运行的windows计算机上。我们编写了一个java producer客户端,其代码如下所示 Properties properties = new Properties(); properties.put("metadata.broker.list","192.1

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

在同一网络上运行的windows计算机上。我们编写了一个java producer客户端,其代码如下所示

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();
Properties属性=新属性();
properties.put(“metadata.broker.list”,“192.168.7.1:9092”);
properties.put(“serializer.class”、“kafka.serializer.StringEncoder”);
PRODUCTERCONFIG PRODUCTERCONFIG=新PRODUCTERCONFIG(属性);
kafka.javaapi.producer.producer-producer=新的kafka.javaapi.producer.producer(producerConfig);
KeyedMessage=newkeyedMessage(“Calamp2”,“来自java程序的测试消息”);
生产者。发送(消息);
producer.close();
当我们运行客户端时,我们得到以下错误

log4j:警告:找不到记录器的附加器 (kafka.utils.VerifiableProperties)。log4j:警告请初始化 log4j系统正常工作。log4j:请参阅 更多信息。 尝试3次后发送消息失败

我们尝试了以下方法

  • 从Windows机器ping ubuntu机器,它似乎工作正常
  • 尝试了来自的解决方案,但无效
  • 我们注意到一件奇怪的事情,当我们在服务器-bin/kafka-topics.sh--list--zookeeper localhost:2181上运行以下命令时,我们发现主题是从Java代码创建的,但消息没有发布。


    感谢您的帮助

    我们终于解决了问题。。。我们在混合环境中运行卡夫卡,如以下帖子所述-

    我们将host.name更改为内部IP,将advised.host.name更改为外部IP。这和我的问题是一样的