我正在尝试创建一个Kafka群集以将消息发送到远程控制。我已经按照此处所述配置了所有内容。我正在Linux red hat机器上运行它,并且使用shell可以正常工作。在quick startWindows计算机上按照教程中的说明编写Java代码后,我收到以下错误:
Kafka
Linux red hat
quick start
... DEBUG kafka.client.ClientUtils$ - Successfully fetched metadata for 1 topic(s) Set(example) ... ERROR kafka.producer.SyncProducer - Producer connection to cldExampleKafka.domain:80 unsuccessful java.nio.channels.UnresolvedAddressException ... at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:44) ... WARN kafka.producer.async.DefaultEventHandler - Failed to send producer request with correlation id 2 to broker 0 with data for patitions [ati,0] java.nio.channels.UnresolvedAddressException ... kafka.common.FailedToSendMessageException: Failed to send message after 3 tries.
我也尝试在其他Linux机器上运行jar,但仍然收到相同的错误。
可以localhost在安装kafka的计算机中将地址更改为jar并在其中运行Java代码。
localhost
我相信它与配置有关,但是找不到。
在您的kafka中,server.properties有注释的配置
server.properties
#advertised.host.name=<Some IP>
取消注释,并添加运行kafka的Linux机器的IP。
advertised.host.name=<Kafka Running Machine IP>
并从客户端连接到。<Kafka Running Machine IP>这应该可以解决您的问题。
<Kafka Running Machine IP>
编辑
(可选)您可以取消注释
#advertised.port=9092
另外,如果您正在侦听的端口与默认端口不同。