在CentOS上搭建Zookeeper集群需要以下步骤:
-
环境准备:
- 安装Java环境。Zookeeper需要Java环境,可以通过以下命令在CentOS上安装OpenJDK:
sudo yum install java-1.8.0-openjdk-devel
- 下载Zookeeper。从Apache Zookeeper的官方网站下载适合CentOS的Zookeeper版本,例如zookeeper-3.8.0.tar.gz。
- 安装Java环境。Zookeeper需要Java环境,可以通过以下命令在CentOS上安装OpenJDK:
-
解压和配置:
- 解压下载的Zookeeper压缩包:
tar -zxvf zookeeper-3.8.0.tar.gz cd zookeeper-3.8.0
- 复制配置文件zoo_sample.cfg并重命名为zoo.cfg:
cp conf/zoo_sample.cfg conf/zoo.cfg
- 编辑zoo.cfg文件,设置以下参数:
tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181 initLimit=10 syncLimit=5 server.1=192.168.0.1:2888:3888 server.2=192.168.0.2:2888:3888 server.3=192.168.0.3:2888:3888
- 解压下载的Zookeeper压缩包:
-
创建myid文件:
- 在每台服务器的数据目录中创建一个名为myid的文件,并写入该服务器的ID(例如,在server.1上写入1,在server.2上写入2,在server.3上写入3)。
-
启动Zookeeper服务:
- 在每台服务器上启动Zookeeper服务:
./bin/zkServer.sh start
- 在每台服务器上启动Zookeeper服务:
-
验证集群状态:
- 使用Zookeeper客户端工具zkCli.sh连接到任何一台服务器,检查集群的状态:
./bin/zkCli.sh -server 192.168.0.1:2181
- 使用Zookeeper客户端工具zkCli.sh连接到任何一台服务器,检查集群的状态:
-
设置开机启动(可选):
- 创建并编辑zookeeper.service文件:
sudo vi /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 [Install] WantedBy=multi-user.target
- 添加可执行权限并注册为系统服务:
sudo chmod +x /etc/systemd/system/zookeeper.service sudo chkconfig --add zookeeper sudo chkconfig zookeeper on
- 创建并编辑zookeeper.service文件: