Kafka-无法使用Java将消息发送到远程服务器
我正在尝试创建一个Kafka
群集以将消息发送到远程控制。我已经按照此处所述配置了所有内容。我正在Linux
red hat机器上运行它,并且使用shell可以正常工作。在quick
startWindows计算机上按照教程中的说明编写Java代码后,我收到以下错误:
...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代码。
我相信它与配置有关,但是找不到。
回答:
在您的kafka中,server.properties
有注释的配置
#advertised.host.name=<Some IP>
取消注释,并添加运行kafka的Linux机器的IP。
advertised.host.name=<Kafka Running Machine IP>
并从客户端连接到。<Kafka Running Machine IP>
这应该可以解决您的问题。
(可选)您可以取消注释
#advertised.port=9092
另外,如果您正在侦听的端口与默认端口不同。
以上是 Kafka-无法使用Java将消息发送到远程服务器 的全部内容, 来源链接: utcz.com/qa/427978.html