105 lines
2.6 KiB
Markdown
105 lines
2.6 KiB
Markdown
---
|
||
title: "CentOS7 安装 zookeeper 集群"
|
||
date: 2019-10-30T01:25:48+08:00
|
||
lastmod: 2019-10-30T01:25:48+08:00
|
||
keywords: []
|
||
tags: ["zookeeper", "centos7"]
|
||
categories: ["storage"]
|
||
---
|
||
|
||
## 环境
|
||
|
||
主机名 | 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](https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz)
|
||
- eth0 网卡用于向客户端提供服务,eth1 网卡用于 zookeeper 集群内部通信
|
||
|
||
## 各节点初始配置
|
||
|
||
- 关闭 selinux、防火墙
|
||
- 部署 java 运行环境
|
||
- 创建数据(快照日志)目录
|
||
```bash
|
||
mkdir -p /var/lib/zookeeper/data
|
||
```
|
||
- 创建事物日志目录
|
||
```bash
|
||
mkdir -p /var/lib/zookeeper/dataLog
|
||
```
|
||
- 创建服务日志目录
|
||
```
|
||
mkdir -p /var/log/zookeeper
|
||
```
|
||
- 生成 myid 文件
|
||
```
|
||
# 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/ 下
|
||
- 生成配置文件
|
||
```
|
||
cd /opt/zookeeper/conf/
|
||
cp zoo_sample.cfg zoo.cfg
|
||
```
|
||
- 修改 /opt/zookeeper/conf/zoo.cfg
|
||
```
|
||
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
|
||
```
|
||
# 找到 ZOO_LOG_DIR="." 一行,换成如下
|
||
ZOO_LOG_DIR="/var/log/zookeeper"
|
||
```
|
||
- 打包 zookeeper 目录,复制到 zk222 和 zk223 上
|
||
|
||
## 启动集群
|
||
|
||
- 直接启动脚本
|
||
- 在每个节点上启动 zookeeper 服务
|
||
```bash
|
||
/opt/zookeeper/bin/zkServer.sh start
|
||
```
|
||
- systemd 启动
|
||
- 创建 /usr/lib/systemd/system/zookeeper.service,内容如下
|
||
```
|
||
[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 服务
|
||
```bash
|
||
systemctl daemon-reload
|
||
systemctl start zookeeper
|
||
```
|
||
|
||
## 查看集群状态
|
||
|
||
- 查看节点状态
|
||
```bash
|
||
/opt/zookeeper/bin/zkServer.sh status
|
||
```
|
||
|