在centos 7上部署和优化apache zookeeper集群,需要完成java环境安装、zookeeper下载解压、配置以及设置开机自启动等步骤。本文提供详细的配置指南,建议使用虚拟机进行测试。
准备工作:
- 三台CentOS 7服务器: 用于搭建ZooKeeper集群。
- ZooKeeper版本: 3.4.9 (或更高稳定版本)
- JDK版本: 1.8 (或更高兼容版本)
一、安装Java环境:
-
验证Java版本: 执行
java -version命令,确认系统是否已安装Java。 -
安装JDK 1.8: 使用以下命令安装OpenJDK 1.8:
sudo yum install java-1.8.0-openjdk-devel
-
配置Java环境变量: 编辑
/etc/profile文件,添加以下内容:export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64 # 根据实际路径调整 export JRE_HOME=$JAVA_HOME/jre export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
执行
source /etc/profile使配置生效。
二、ZooKeeper安装与配置:
-
下载并解压ZooKeeper:
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz sudo tar -zxvf zookeeper-3.4.9.tar.gz -C /usr/local/
-
配置ZooKeeper环境变量: 编辑
/etc/profile文件,添加以下内容:export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.9 export PATH=$ZOOKEEPER_HOME/bin:$PATH
执行
source /etc/profile使配置生效。 -
主机名映射: 编辑
/etc/hosts文件,配置每台服务器的主机名和IP地址映射,例如:192.168.1.119 zk-server-1 192.168.1.120 zk-server-2 192.168.1.121 zk-server-3
(请替换为你的实际IP地址和主机名)
-
配置ZooKeeper配置文件: 复制
$ZOOKEEPER_HOME/conf/zoo_sample.cfg到zoo.cfg。修改zoo.cfg文件,主要配置以下参数:-
dataDir: ZooKeeper数据存储目录,例如/usr/local/zookeeper-3.4.9/data。 -
clientPort: 客户端连接端口,默认为2181。 -
server.1,server.2,server.3: 集群服务器配置,格式为。例如:: : : server.1=zk-server-1:2888:3888 server.2=zk-server-2:2888:3888 server.3=zk-server-3:2888:3888
(请替换为你的实际主机名和端口号)
-
三、设置开机自启动:
-
创建systemd服务文件: 创建
/etc/systemd/system/zookeeper.service文件,并添加以下内容:[Unit] Description=Apache ZooKeeper After=network.target [Service] Type=forking ExecStart=/usr/local/zookeeper-3.4.9/bin/zkServer.sh start ExecStop=/usr/local/zookeeper-3.4.9/bin/zkServer.sh stop PrivateTmp=true Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64 #根据实际路径调整 User=zookeeper # 建议创建zookeeper用户,并设置权限 Group=zookeeper # 建议创建zookeeper用户组 PIDFile=/usr/local/zookeeper-3.4.9/data/zookeeper.pid Restart=always [Install] WantedBy=multi-user.target
-
启用并启动ZooKeeper服务:
sudo systemctl daemon-reload sudo systemctl enable zookeeper sudo systemctl start zookeeper
-
检查ZooKeeper状态:
sudo systemctl status zookeeper
完成以上步骤后,ZooKeeper集群应该能够正常运行。 请确保在所有三台服务器上都执行相同的步骤。 建议创建 zookeeper 用户和用户组,并赋予其适当的权限,提高安全性。 最后,使用 zkCli.sh 命令连接ZooKeeper集群进行测试。











