在CentOS上部署ZooKeeper的步骤如下:
确保系统更新:
sudo yum update -y
安装Java环境(ZooKeeper需要Java运行时环境):
sudo yum install java-1.8.0-openjdk-devel -y
验证Java安装:
java -version
下载ZooKeeper: 访问ZooKeeper官方网站下载最新版本的ZooKeeper压缩包。例如,下载3.7.0版本:
wget https://archive.apache.org/dist/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
重命名目录(可选):
sudo mv /opt/apache-zookeeper-3.7.0-bin /opt/zookeeper
进入配置目录:
cd /opt/zookeeper/conf
复制示例配置文件:
cp zoo_sample.cfg zoo.cfg
编辑配置文件:
使用文本编辑器(如vi
或nano
)打开zoo.cfg
文件:
sudo vi zoo.cfg
修改以下配置项:
dataDir
:指定数据存储目录,例如/var/lib/zookeeper
。clientPort
:指定客户端连接端口,默认是2181。server
:配置集群中的服务器节点,例如:server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
其中zoo1
, zoo2
, zoo3
是服务器的主机名或IP地址。创建数据目录:
sudo mkdir -p /var/lib/zookeeper
设置权限:
sudo chown -R $(whoami):$(whoami) /var/lib/zookeeper
sudo chmod -R 755 /var/lib/zookeeper
进入ZooKeeper目录:
cd /opt/zookeeper/bin
启动ZooKeeper:
./zkServer.sh start
检查ZooKeeper状态:
./zkServer.sh status
如果一切正常,你应该会看到类似以下的输出:
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/conf/zoo.cfg
Mode: Leader
创建systemd服务文件:
sudo vi /etc/systemd/system/zookeeper.service
添加以下内容:
[Unit]
Description=Apache ZooKeeper Server
After=network.target
[Service]
Type=forking
User=$(whoami)
Group=$(whoami)
ExecStart=/opt/zookeeper/bin/zkServer.sh start
ExecStop=/opt/zookeeper/bin/zkServer.sh stop
Restart=on-abort
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl enable zookeeper
sudo systemctl start zookeeper
检查服务状态:
sudo systemctl status zookeeper
通过以上步骤,你应该能够在CentOS上成功部署ZooKeeper。如果有任何问题,请检查日志文件/var/log/zookeeper/zookeeper.out
以获取更多信息。