在CentOS上配置Zookeeper时,网络设置是一个关键步骤。以下是详细的配置要点:
ip a 或 ifconfig 查看当前网卡名称(如 ens33、ens32)。systemctl stop firewalldsudo setenforce 0/etc/selinux/config,将 SELINUXenforcing 改为 SELINUXdisabled,然后重启服务器。/etc/sysconfig/network-scripts/ifcfg-ens33(根据实际网卡名称调整)。BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114
ONBOOT=yes
systemctl restart networkBOOTPROTO=dhcp
ONBOOT=yes
ifup ens33ifconfig 临时添加:ifconfig ens33:0 192.168.1.101 netmask 255.255.255.0ifcfg-ens33:0)。ping 宿主IP 和 ping 虚拟机IP。ping www.baidu.comip route showcat /etc/resolv.confsudo yum install java-1.8.0-openjdk-develwget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/
zoo_sample.cfg 配置文件为 zoo.cfg。dataDir:数据目录路径,例如 /var/lib/zookeeperclientPort:客户端连接端口,默认2181tickTime:Zookeeper的基本时间单位(以毫秒为单位)initLimit:初始化连接时最长能忍受的心跳时间间隔数syncLimit:Leader与Follower之间发送消息、请求和应答时间长度tickTime 2000
dataDir /usr/local/zookeeper/data
clientPort 2181
initLimit 10
syncLimit 5
server.1 192.168.0.11:2888:3888
server.2 192.168.0.12:2888:3888
server.3 192.168.0.13:2888:3888
dataDir 目录下创建 myid 文件,并写入对应的服务器ID。echo '1' > /var/lib/zookeeper/myid
zookeeper.service 文件:
/etc/systemd/system/zookeeper.service 文件,添加以下内容:[Unit]
Description=Zookeeper
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
PrivateTmp=true
Environment=JAVA_HOME=/usr/local/java/jdk1.8.0_202
User=root
Group=root
PIDFile=/usr/local/zookeeper/data/zookeeper.pid
Restart=always
[Install]
WantedBy=multi-user.target
sudo chmod x /etc/systemd/system/zookeeper.service
sudo chkconfig --add zookeeper
sudo chkconfig zookeeper on
sudo systemctl start zookeepersudo systemctl status zookeeper 或使用:/usr/local/zookeeper/bin/zkServer.sh status通过以上步骤,可以确保Zookeeper在CentOS上的网络配置正确无误,从而保证其在分布式环境中的稳定运行。