在 CentOS 上设置 ZooKeeper 开机自启,常见有三种方式:
/opt/zookeeper/opt/zookeeper/conf/zoo.cfgJAVA_HOME 已知(如 /usr/java/jdk1.8.0_201)vi /etc/systemd/system/zookeeper.service
内容示例:
[Unit]
Description=Apache ZooKeeper
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/java/jdk1.8.0_201
ExecStart=/opt/zookeeper/bin/zkServer.sh start
ExecStop=/opt/zookeeper/bin/zkServer.sh stop
Restart=on-abnormal
User=root
[Install]
WantedBy=multi-user.target
若使用普通用户运行,把
User=root改成对应用户名
systemctl daemon-reload
systemctl enable zookeeper
systemctl start zookeeper
systemctl status zookeeper
vi /etc/rc.d/rc.local
添加:
export JAVA_HOME=/usr/java/jdk1.8.0_201
/opt/zookeeper/bin/zkServer.sh start
chmod +x /etc/rc.d/rc.local
⚠️ CentOS 7 默认 rc.local 不执行,必须加执行权限
/etc/init.d/zookeeperchkconfig --add zookeeper
chkconfig zookeeper on
重启服务器后执行:
/opt/zookeeper/bin/zkServer.sh status
如果你告诉我:
我可以帮你写一份完全可用的启动脚本。