在CentOS上搭建Zookeeper集群涉及多个步骤,包括安装Java、下载Zookeeper、配置Zookeeper以及启动和验证集群。以下是一个详细的指南:
Zookeeper需要Java环境,首先确保你的系统上已经安装了Java。你可以使用以下命令来安装OpenJDK:
sudo yum install java-1.8.0-openjdk-devel
安装完成后,验证Java是否安装成功:
java -version
从Apache Zookeeper的官方网站下载最新版本的Zookeeper。你可以使用以下命令来下载:
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
下载完成后,解压文件到一个目录,例如/opt
:
sudo tar -xzvf apache-zookeeper-3.7.0-bin.tar.gz -C /opt
为每个Zookeeper节点创建一个配置文件。假设你有三个节点,分别是node1
, node2
, node3
,你可以在/opt/apache-zookeeper-3.7.0-bin/conf
目录下创建三个配置文件:
tickTime=2000
dataDir=/var/lib/zookeeper/node1
clientPort=2181
initLimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
tickTime=2000
dataDir=/var/lib/zookeeper/node2
clientPort=2181
initLimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
tickTime=2000
dataDir=/var/lib/zookeeper/node3
clientPort=2181
initLimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
在每个节点的dataDir
目录下创建一个myid
文件,并写入对应的服务器ID:
echo "1" | sudo tee /var/lib/zookeeper/node1/myid
echo "2" | sudo tee /var/lib/zookeeper/node2/myid
echo "3" | sudo tee /var/lib/zookeeper/node3/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 JMX enabled by default
Using config: /opt/apache-zookeeper-3.7.0-bin/conf/zoo.cfg
Mode: Follower
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.7.0-bin/conf/zoo.cfg
Mode: Follower
如果所有节点都显示为Leader
或Follower
,并且没有错误信息,那么你的Zookeeper集群就已经成功搭建并运行了。
确保防火墙允许Zookeeper的端口(默认是2181, 2888, 3888):
sudo firewall-cmd --permanent --zone=public --add-port=2181/tcp
sudo firewall-cmd --permanent --zone=public --add-port=2888/tcp
sudo firewall-cmd --permanent --zone=public --add-port=3888/tcp
sudo firewall-cmd --reload
完成以上步骤后,你的Zookeeper集群应该已经成功搭建并运行在CentOS上。