Zookeeper 异常分析--No route to host

Zookeeper运维中遇到的Noroutetohost异常通常是由于网络问题导致,例如IP不可达或端口不通。检查网络连接无误后,问题可能出在端口未开放,尤其是防火墙配置不当可能导致服务端口不可达。解决办法包括在内部节点间开放端口或关闭防火墙。确保Zookeeper的通讯端口2888和3888在集群内畅通无阻。

        Zookeeper 运维过程中,时长会出现一些异常信息, 通常zookepper的代码本身还是很健壮的,出现问题60-80%是环境问题导致的。

       本文介绍一种明确的异常情况 No route to host (Host unreachable). 日志截图如下

 No route to host  ,字面意思很好理解, 路由不到主机,具体到截图里面就是找不到 20.2.120.13:3888 , 网络通讯链路无法建立。

那么问题的原因很清晰了, 网络问题。可以使用ping , ssh等命令工具排查一下网络情况。

      但是【注意这个但是】

      排查网络后没有发现问题,网络丢包,错包的情况也没有发生,这就尴尬了。

       其实,从上述报错信息中还有一个可能原因,一般很容易被忽略,就是端口。 路由不到除了IP不可达之外,还有进一步的端口不可达。大家知道,一般的服务端软件,基于安全考虑都会设立防火墙,而防火墙配置不合理的话,会导致业务端口不可达。

       当然一般来说,zookeeper使用的2888,3888端口都是内部节点通讯端口,一般来说可以不对外开放,但需要在内部节点之间开放端口,或者直接配置zookeeper使用的网卡内部全部开放端口也可以。简单一点的话,也可以直接关闭防火墙。

至此破案。

 

root@admin1-virtual-machine:/opt/kafka# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 00:0c:29:04:df:18 brd ff:ff:ff:ff:ff:ff altname enp2s1 3: br-2ad87d985381: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 72:13:e8:62:e7:62 brd ff:ff:ff:ff:ff:ff inet 192.168.49.1/24 brd 192.168.49.255 scope global br-2ad87d985381 valid_lft forever preferred_lft forever 4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 32:03:df:9a:b1:98 brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever 5: br-c570e93dda3d: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 12:ad:93:74:73:6c brd ff:ff:ff:ff:ff:ff inet 172.18.0.1/16 brd 172.18.255.255 scope global br-c570e93dda3d valid_lft forever preferred_lft forever;root@admin1-virtual-machine:/opt/kafka# bin/zookeeper-server-start.sh -daemon config/zookeeper.properties root@admin1-virtual-machine:/opt/kafka# bin/kafka-server-start.sh -daemon config/server.properties root@admin1-virtual-machine:/opt/kafka# jps 3360 Jps 2996 QuorumPeerMain 3295 Kafka root@admin1-virtual-machine:/opt/kafka# bin/kafka-topics.sh --create --topic vms_dlq_hello-topic --bootstrap-server 192.168.203.128:9092 --partitions 1 --replication-factor 1 WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both. [2025-10-09 10:07:18,644] WARN [AdminClient clientId=adminclient-1] Error connecting to node 192.168.203.128:9092 (id: -1 rack: null) (org.apache.kafka.clients.NetworkClient) java.net.SocketException: Network is unreachable at sun.nio.ch.Net.connect0(Native Method) at sun.nio.ch.Net.connect(Net.java:482)分析并解决
最新发布
10-10
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值