CentOS7 安装 zookeeper 集群
文章目录
环境
主机名 | eth0 IP | eth1 IP | 操作系统 | ZK 版本 | myid |
---|---|---|---|---|---|
zk221 | 192.168.1.221 | 192.168.16.221 | CentOS7.5 | 3.4.14 | 221 |
zk222 | 192.168.1.222 | 192.168.16.222 | CentOS7.5 | 3.4.14 | 222 |
zk223 | 192.168.1.223 | 192.168.16.223 | CentOS7.5 | 3.4.14 | 223 |
- 下载 zookeeper-3.4.14
- eth0 网卡用于向客户端提供服务,eth1 网卡用于 zookeeper 集群内部通信
各节点初始配置
- 关闭 selinux、防火墙
- 部署 java 运行环境
- 创建数据(快照日志)目录
1
mkdir -p /var/lib/zookeeper/data
- 创建事物日志目录
1
mkdir -p /var/lib/zookeeper/dataLog
- 创建服务日志目录
1
mkdir -p /var/log/zookeeper
- 生成 myid 文件
1 2 3 4 5 6
# zk221 echo 221 > /var/lib/zookeeper/data/myid # zk222 echo 222 > /var/lib/zookeeper/data/myid # zk223 echo 223 > /var/lib/zookeeper/data/myid
部署 zookeeper
- 登陆 zk221,下载 zookeeper,解压至 /opt/ 下
- 生成配置文件
1 2
cd /opt/zookeeper/conf/ cp zoo_sample.cfg zoo.cfg
- 修改 /opt/zookeeper/conf/zoo.cfg
1 2 3 4 5 6
dataDir=/var/lib/zookeeper/data dataLogDir=/var/lib/zookeeper/dataLog # servers server.221=192.168.16.221:2888:3888 server.222=192.168.16.222:2888:3888 server.223=192.168.16.223:2888:3888
- 修改 /opt/zookeeper/bin/zkEnv.sh
1 2
# 找到 ZOO_LOG_DIR="." 一行,换成如下 ZOO_LOG_DIR="/var/log/zookeeper"
- 打包 zookeeper 目录,复制到 zk222 和 zk223 上
启动集群
- 直接启动脚本
- 在每个节点上启动 zookeeper 服务
1
/opt/zookeeper/bin/zkServer.sh start
- 在每个节点上启动 zookeeper 服务
- systemd 启动
- 创建 /usr/lib/systemd/system/zookeeper.service,内容如下
1 2 3 4 5 6 7 8 9 10
[Unit] Description=Zookeeper Requires=network.service After=network.service [Service] Environment=JAVA_HOME=/opt/jre ExecStart=/opt/zookeeper/bin/zkServer.sh start-foreground SuccessExitStatus=143 [Install] WantedBy=multi-user.target
- 启动 zookeeper 服务
1 2
systemctl daemon-reload systemctl start zookeeper
- 创建 /usr/lib/systemd/system/zookeeper.service,内容如下
查看集群状态
- 查看节点状态
1
/opt/zookeeper/bin/zkServer.sh status
文章作者 Colben
上次更新 2019-10-30