红茶的个人站点

  • 首页
  • 专栏
  • 开发工具
  • 其它
  • 隐私政策
Awalon
Talk is cheap,show me the code.
  1. 首页
  2. 开发工具
  3. 正文

安装 ZooKeeper

2025年8月10日 16点热度 0人点赞 0条评论

Zookeeper 部署分为单体和集群两种,本文为单体部署。

本文安装的 Linux 发行版是 RHEL 9,可能其他发行版会略有不同。

下载安装

创建专属帐号:

sudo groupadd zookeeper
sudo useradd -g zookeeper -m -s /sbin/nologin zookeeper

下载安装包:

wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz

解压:

sudo tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz -C /usr/local/ 
sudo mv /usr/local/apache-zookeeper-3.8.4-bin /usr/local/zookeeper

设置目录权限:

sudo chown -R zookeeper:zookeeper /usr/local/zookeeper

创建数据与日志目录:

cd /usr/local/zookeeper/
sudo mkdir {data,logs}
sudo chown -R zookeeper:zookeeper data
sudo chown -R zookeeper:zookeeper logs

创建配置文件:

cd conf
sudo cp zoo_sample.cfg zoo.cfg
sudo vim zoo.cfg

修改配置:

dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs

运行:

sudo -u zookeeper ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

如果运行出错,显示找不到 JAVA_HOME,可以参考这篇文章。

查看状态:

sudo -u zookeeper ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: standalone

查看是否正常监听端口:

netstat -tuln | grep 2181

防火墙放行对应端口给局域网:

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.0/24" port port="2181" protocol="tcp" accept'

重新加载防火墙策略:

sudo firewall-cmd --reload
sudo firewall-cmd --list-rich-rules

配置 Systemd 服务

创建服务文件:

sudo vim /etc/systemd/system/zookeeper.service
[Unit]
Description=Apache ZooKeeper
After=network.target
[Service]
Environment="JAVA_HOME=/usr/lib/jvm/jdk22"
Environment="PATH=$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
User=zookeeper
Group=zookeeper
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
PIDFile=/run/zookeeper/zookeeper.pid
Restart=on-failure
RestartSec=5s
RemainAfterExit=no
[Install]
WantedBy=multi-user.target

创建 PID 目录并授权:

sudo mkdir -p /run/zookeeper
sudo chown zookeeper:zookeeper /run/zookeeper
sudo chmod 755 /run/zookeeper

修改启动脚本/usr/local/zookeeper/bin/zkServer.sh,在启动命令后添加 PID 文件生成:

echo $! > /run/zookeeper/zookeeper.pid

image-20250810205544819

重新加载服务列表:

sudo systemctl daemon-reload

停止当前应用:

sudo -u zookeeper ./zkServer.sh stop

启动服务:

sudo systemctl enable zookeeper
sudo systemctl start zookeeper
sudo systemctl status zookeeper

The End.

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: Linux zookeeper
最后更新:2025年8月10日

魔芋红茶

加一点PHP,加一点Go,加一点Python......

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务

Theme Kratos Made By Seaton Jiang

宁ICP备2021001508号

宁公网安备64040202000141号