在CentOS系统上搭建Zookeeper集群是一个相对复杂的过程,需要仔细配置每个节点的设置。以下是一个基本的搭建步骤指南:
sudo yum install java-1.8.0-openjdk-devel
sudo systemctl stop firewalld
sudo systemctl disable firewalld
/etc/hosts文件,添加服务器的主机名和IP地址映射。zookeeper-3.8.0.tar.gz。wget https://downloads.apache.org/zookeeper/zookeeper-3.8.0/zookeeper-3.8.0.tar.gz
/usr/local/zookeeper。tar -zxvf zookeeper-3.8.0.tar.gz -C /usr/local/zookeeper
conf目录,复制zoo_sample.cfg文件并重命名为zoo.cfg。zoo.cfg文件,设置以下参数:tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=10
syncLimit=5
server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888
data目录中创建一个名为myid的文件,并写入该服务器的ID(例如,在server.1上写入1,在server.2上写入2,在server.3上写入3)。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=zookeeper
Group=zookeeper
PIDFile=/var/run/zookeeper/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 /usr/local/zookeeper/bin/zkServer.sh start
zkCli.sh连接到任何一台服务器,检查集群的状态,确保所有节点都已成功加入集群:./bin/zkCli.sh -server 192.168.1.1:2181
在客户端中执行status命令查看集群状态。在任意节点上执行以下命令,查看集群节点状态:
./bin/zkServer.sh status
如果集群启动成功,应该能看到所有服务器都处于运行状态,并且有一个Leader节点和若干Follower节点。
myid文件和zoo.cfg文件中的server.x配置必须一致且正确。通过以上步骤,您可以在CentOS系统上成功搭建一个高可用的Zookeeper集群。