在 CentOS 上让 ZooKeeper 开机自启,常见有 2 种方式(取决于 CentOS 版本):
vi /etc/systemd/system/zookeeper.service
内容示例(按实际路径修改):
[Unit]
Description=Apache ZooKeeper
After=network.target
[Service]
Type=forking
User=zookeeper
Group=zookeeper
ExecStart=/opt/zookeeper/bin/zkServer.sh start
ExecStop=/opt/zookeeper/bin/zkServer.sh stop
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
说明:
/opt/zookeeper改成你的 ZooKeeper 安装目录- 建议用专用用户(如 zookeeper),不要用 root
systemctl daemon-reload
systemctl enable zookeeper
systemctl start zookeeper
systemctl status zookeeper
vi /etc/init.d/zookeeper
示例:
#!/bin/bash
# chkconfig: 2345 90 10
# description: ZooKeeper
ZOOKEEPER_HOME=/opt/zookeeper
case "$1" in
start)
$ZOOKEEPER_HOME/bin/zkServer.sh start
;;
stop)
$ZOOKEEPER_HOME/bin/zkServer.sh stop
;;
status)
$ZOOKEEPER_HOME/bin/zkServer.sh status
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
chmod +x /etc/init.d/zookeeper
chkconfig --add zookeeper
chkconfig zookeeper on
tail -f /opt/zookeeper/logs/zookeeper.log
如果你告诉我:
我可以帮你写一份可直接用的完整配置。