以下是在CentOS上处理Zookeeper网络设置问题的步骤:
ip a
或 ifconfig
查看网卡名称(如 ens33
)。systemctl stop firewalld && systemctl disable firewalld sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config setenforce 0
/etc/sysconfig/network-scripts/ifcfg-ens33
,设置 BOOTPROTO=static
、IPADDR
、GATEWAY
等参数,重启网络 systemctl restart network
。BOOTPROTO=dhcp
,重启网络。zoo.cfg
文件 clientPort=2181
和 dataDir
(数据目录)。server.x=IP:2888:3888
(x
为节点ID),并在 dataDir
下创建 myid
文件写入节点ID。clientPort
配置正确,或通过 zookeeper-server-start.sh
指定 ZOOKEEPER_OPTS="-Dzookeeper.bind_host=0.0.0.0"
。firewall-cmd --permanent --zone=public --add-port=2181/tcp # 客户端端口 firewall-cmd --permanent --zone=public --add-port=2888/tcp # 集群通信端口 firewall-cmd --permanent --zone=public --add-port=3888/tcp # 同步端口 firewall-cmd --reload
ping
测试节点间互通。telnet
或 nc
测试端口是否可达:telnet <Zookeeper_IP> 2181 nc -vz <Zookeeper_IP> 2181
zkServer.sh status
查看节点状态,确认是否正常加入集群。IPADDR
并重启网络。dataDir
和 logDir
权限正确(属主为 zookeeper
用户,权限 750
)。myid
文件与 zoo.cfg
中的 server.x
ID 一致。zoo.cfg
中的 advertisedHostname
一致。参考来源: