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

回到顶部