在CentOS上配置Zookeeper的网络设置涉及多个步骤,包括网络配置、Zookeeper安装与配置、以及集群节点设置等。以下是详细的步骤指南:
确认网卡名称:
使用 ip a
或 ifconfig
查看当前网卡名称(如 ens33
、ens32
)。
关闭防火墙和SELinux(测试环境推荐操作):
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sudo setenforce 0
sudo vi /etc/selinux/config
将 SELINUX=enforcing
改为 SELINUX=disabled
,然后重启服务器。/etc/sysconfig/network-scripts/ifcfg-ens33
(根据实际网卡名称调整)。BOOTPROTO=static
ONBOOT=yes
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
sudo systemctl restart network
BOOTPROTO=dhcp
ONBOOT=yes
sudo ifup ens33
ifconfig
临时添加:sudo ifconfig ens33:0 192.168.1.101 netmask 255.255.255.0
ifcfg-ens33:0
)。ping 宿主IP
ping 虚拟机IP
ping www.baidu.com
ip route show
cat /etc/resolv.conf
sudo yum install java-1.8.0-openjdk-devel
wget 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
。cd /usr/local/zookeeper-3.4.14
sudo cp zoo_sample.cfg zoo.cfg
sudo vi zoo.cfg
主要需要修改的配置项包括:
dataDir
:数据目录。clientPort
:客户端连接端口,默认是2181。tickTime
: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
data
目录下创建一个名为 myid
的文件,文件内容为本机的编号(例如:1、2、3)。mkdir -p /var/lib/zookeeper/myid
echo "1" > /var/lib/zookeeper/myid # 这里的数字应该与server.x中的x一致
zookeeper.service
文件:
创建并编辑 /etc/systemd/system/zookeeper.service
文件,添加以下内容:[Unit]
Description=Zookeeper
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/zookeeper-3.4.14/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper-3.4.14/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 zookeeper
验证Zookeeper状态:
sudo systemctl status zookeeper
或使用:
/usr/local/zookeeper-3.4.14/bin/zkServer.sh status
通过以上步骤,你就可以在CentOS上成功配置Zookeeper的网络设置,确保其在分布式环境中的稳定运行。