在CentOS上搭建Zookeeper集群需要以下几个步骤:
确保你的CentOS系统已经安装了Java环境,因为Zookeeper是用Java编写的。你可以使用以下命令检查Java是否已安装:
java -version
如果没有安装Java,可以使用以下命令安装:
sudo yum install java-1.8.0-openjdk-devel
从Apache Zookeeper官方网站下载最新版本的Zookeeper。你可以使用以下命令下载:
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
下载完成后,解压文件:
tar -xzvf apache-zookeeper-3.7.0-bin.tar.gz -C /opt
进入Zookeeper目录并复制配置文件模板:
cd /opt/apache-zookeeper-3.7.0-bin/conf
cp zoo_sample.cfg zoo.cfg
编辑zoo.cfg文件,配置集群信息。假设你有三个节点,IP地址分别为192.168.1.1, 192.168.1.2, 192.168.1.3,配置如下:
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888
在每个节点的dataDir目录下创建一个myid文件,并写入对应的服务器ID。例如,在192.168.1.1节点上:
echo "1" > /var/lib/zookeeper/myid
在192.168.1.2节点上:
echo "2" > /var/lib/zookeeper/myid
在192.168.1.3节点上:
echo "3" > /var/lib/zookeeper/myid
在每个节点上启动Zookeeper服务:
/opt/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start
在任意一个节点上使用以下命令检查集群状态:
/opt/apache-zookeeper-3.7.0-bin/bin/zkServer.sh status
你应该能看到类似以下的输出,表示集群正常运行:
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.7.0-bin/conf/zoo.cfg
Mode: leader
确保防火墙允许Zookeeper的端口(默认是2181, 2888, 3888):
sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2888/tcp --permanent
sudo firewall-cmd --zone=public --add-port=3888/tcp --permanent
sudo firewall-cmd --reload
你可以使用Zookeeper自带的zkCli.sh工具来管理和监控集群:
/opt/apache-zookeeper-3.7.0-bin/bin/zkCli.sh -server 192.168.1.1:2181
通过以上步骤,你应该能够在CentOS上成功搭建一个Zookeeper集群。