下载 ZooKeeper
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
解压安装包
tar -xzf apache-zookeeper-3.6.3-bin.tar.gz
mv apache-zookeeper-3.6.3-bin /opt/zookeeper
创建配置文件
cd /opt/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
配置 zoo.cfg (根据需要修改)
dataDir=/var/lib/zookeeper
clientPort=2181
cd /opt/zookeeper
bin/zkServer.sh start-foreground
cd /opt/zookeeper
bin/zkServer.sh start
创建 systemd 服务文件 /etc/systemd/system/zookeeper.service
:
[Unit]
Description=ZooKeeper Service
After=network.target
[Service]
Type=forking
User=zookeeper
Group=zookeeper
ExecStart=/opt/zookeeper/bin/zkServer.sh start
ExecStop=/opt/zookeeper/bin/zkServer.sh stop
ExecReload=/opt/zookeeper/bin/zkServer.sh restart
WorkingDirectory=/opt/zookeeper
[Install]
WantedBy=multi-user.target
启用并启动服务:
systemctl daemon-reload
systemctl enable zookeeper
systemctl start zookeeper
检查状态:
bin/zkServer.sh status
使用客户端连接测试:
bin/zkCli.sh -server 127.0.0.1:2181
无法启动:
/opt/zookeeper/logs/zookeeper.out
dataDir
目录存在且有写权限端口冲突:
netstat -tulnp | grep 2181
zoo.cfg
中的 clientPort
Java 环境问题:
java -version
bin/zkEnv.sh
中的 JAVA_HOME