温馨提示×

centos zookeeper如何设开机自启

小樊
41
2026-10-06 08:53:34
栏目: 智能运维

在 CentOS 上让 ZooKeeper 开机自启,常见有 2 种方式(取决于 CentOS 版本):


一、CentOS 7 / 8(systemd,推荐)

1. 创建 systemd 服务文件

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

2. 重载并启用

systemctl daemon-reload
systemctl enable zookeeper
systemctl start zookeeper

3. 查看状态

systemctl status zookeeper

二、CentOS 6(init.d 脚本)

1. 创建启动脚本

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

2. 授权并设自启

chmod +x /etc/init.d/zookeeper
chkconfig --add zookeeper
chkconfig zookeeper on

三、常见问题

  • 启动失败:先看日志
    tail -f /opt/zookeeper/logs/zookeeper.log
    
  • 权限问题:数据目录和日志目录必须能被运行用户访问
  • 集群环境:每台机器都需单独配置开机自启

如果你告诉我:

  • CentOS 具体版本
  • ZooKeeper 安装路径
  • 是否集群

我可以帮你写一份可直接用的完整配置。

0 踩