如果在zookepeer的配置中,我将服务器设置为:
clientPort=2181
server.1=kafka-test-01:2888:3888
server.2=kafka-test-02:2888:3888
server.3=kafka-test-03:2888:3888
哪里 kafka-test-0X
是一个示例,并且可以从任何示例解析域,我注意到zookeeper的端口正在监听127.0.1.1。事实上,由于无法通过3888进行通信,“leader port”2888也没有监听。
tcp6 0 0 127.0.1.1:3888 :::* LISTEN 26951/java
但是,如果我使用的不是主机名,而是实际的ip,例如:
server.1=192.168.0.11:2888:3888
server.2=192.168.0.12:2888:3888
server.3=192.168.0.13:2888:3888
它在每一个ip上都可以正常监听,并且可以从一个ip连接到另一个ip。
tcp6 0 0 192.168.0.13:2888 :::* LISTEN 26926/java
tcp6 0 0 192.168.0.13:3888 :::* LISTEN 26926/java
我见过很多使用主机名的例子,甚至官方文档也使用主机名,那么原因可能是什么呢?
3条答案
按热度按时间yhived7q1#
正如其他人提到的,这可能是因为您的主机名解析为环回地址,而不是真正的IP。
nbnkbykc2#
这可能是因为在您的/etc/hosts中,您的主机名可能与127.0.0.1相对,请按如下注解注解#127.0.1.1
btxsgosb3#
您需要从/etc/hosts文件中删除以下条目
然后重新启动zookeeper群集。
在zookeeper重启之前
zookeeper重启后