温馨提示×

centos怎样设置zookeeper开机启动

小樊
52
2026-10-09 08:19:12
栏目: 智能运维

在 CentOS 上设置 ZooKeeper 开机启动,常见有三种方式(按推荐程度):


方式一(推荐):使用 systemd(CentOS 7+)

1. 创建 systemd 服务文件

vi /etc/systemd/system/zookeeper.service

2. 写入以下内容(按实际路径修改)

[Unit]
Description=ZooKeeper Service
After=network.target

[Service]
Type=forking
User=zookeeper
Group=zookeeper
Environment=JAVA_HOME=/usr/java/jdk1.8.0_201
ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg
ExecStop=/opt/zookeeper/bin/zkServer.sh stop /opt/zookeeper/conf/zoo.cfg
Restart=on-failure

[Install]
WantedBy=multi-user.target

说明:

  • JAVA_HOME 改成你自己的 JDK 路径
  • User/Group 建议用专用用户(如 zookeeper)
  • 如果是单机默认配置,可省略 zoo.cfg 路径

3. 重载并启用

systemctl daemon-reload
systemctl enable zookeeper
systemctl start zookeeper

4. 查看状态

systemctl status zookeeper

方式二:使用 rc.local(简单但不推荐)

vi /etc/rc.d/rc.local

添加:

/opt/zookeeper/bin/zkServer.sh start

赋权:

chmod +x /etc/rc.d/rc.local

适合测试环境,不支持服务管理


方式三:使用 chkconfig(旧版 CentOS 6)

  1. 复制启动脚本
cp /opt/zookeeper/bin/zkServer.sh /etc/init.d/zookeeper
  1. 添加 chkconfig
chkconfig --add zookeeper
chkconfig zookeeper on

常见问题

  • 启动失败:检查 JAVA_HOME、配置文件路径、权限
  • 端口占用:默认 2181
  • 日志位置:zookeeper.out 或 logs/

如果你告诉我 CentOS 版本 和 ZooKeeper 安装路径,我可以给你一份可直接用的配置文件。

0 踩