从linux生产者到windows使用者的解析失败

pxiryf3j  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(390)

我在windows机器上运行zookeeper、kafka服务器和客户机。当我在另一台运行windows的机器上使用python或c++的简单producer程序时,一切都正常。然而,当我在linux机器上使用相同的producer程序时,它不工作,它指责未能解决问题。所有计算机都连接在同一个网络上。我曾尝试以几种不同的方式设置kafka server.properties中的listeners和adverted.listeners,但结果相同。
使用服务器和使用者运行windows的计算机:

IP:192.168.0.149
hostname:something

第二台运行linux或windows(双引导)并带有producer程序的机器:

IP:192.168.0.150
hostame:somethingelse

在server.properties上尝试了一些配置:
1个侦听器=纯文本:\0.0.0.0:9092播发。侦听器=纯文本:\something:9092
第二台机器的生产商:

producer = KafkaProducer(bootstrap_servers=['192.168.0.149:9092'])

适用于windows,不适用于linux
2个侦听器=纯文本:\localhost:9092 advertised.listeners=plaintext:\something:9092
第二台机器的生产商:

producer = KafkaProducer(bootstrap_servers=['192.168.0.149:9092'])

适用于windows,不适用于linux
3#listeners=#advisted.listeners=
第二台机器的生产商:

producer = KafkaProducer(bootstrap_servers=['192.168.0.149:9092'])

适用于windows,不适用于linux
4个侦听器=纯文本:\192.168.0.149:9092播发。侦听器=纯文本:\something:9092
第二台机器的生产商:

producer = KafkaProducer(bootstrap_servers=['192.168.0.149:9092'])

如果使用者传递的是ip而不是本地主机,则在windows上工作,在linux上不工作

ufj5ltwl

ufj5ltwl1#

侦听器应始终保持为0.0.0.0。这是接受所有外部连接的绑定地址
如果你想在windows上运行kafka,你需要处理windows防火墙。在测试连接时尝试禁用它。最好将代理切换到linux上运行。
如果两个系统都能通过dns名称相互解析,则播发的侦听器应该是主机名。否则,请保存额外的网络跃点,并使用ip作为播发的侦听器。如果你得到“未能解决”,似乎是一个dns问题,和 ping windows-host 也不管用
为了调试你的连接,我建议使用kafkacat

kafkacat -b kafka-host:9092 -L

相关问题