mirror of
https://github.com/didi/KnowStreaming.git
synced 2026-01-18 06:24:26 +08:00
118 lines
3.0 KiB
Markdown
118 lines
3.0 KiB
Markdown
# Zookeeper安装部署手册
|
||
|
||
[TOC]
|
||
|
||
## 1、前言
|
||
|
||
假设我们要部署三台ZK,机器IP分别为IP1、IP2、IP3。
|
||
|
||
如果部署五台的时候,过程也类似。
|
||
|
||
```bash
|
||
# 若要部署zk集群和kafka集群,最好做IP映射
|
||
vim /etc/hosts
|
||
# 1. 注释掉含有127.0.0.1的行
|
||
# 2. 文件最下面写入以下内容(10.190.x.x表示每个服务器具体IP,IP1、IP2、IP3表示机器hostname)
|
||
10.190.x.x IP1
|
||
10.190.x.x IP2
|
||
10.190.x.x IP3
|
||
|
||
# 测试
|
||
ping IP2
|
||
```
|
||
|
||
|
||
## 2、部署
|
||
|
||
**步骤一:环境初始化**
|
||
|
||
- 安装JDK-11,这块比较通用,不解释。
|
||
- POC或测试的时候,建议在/home/kafka目录下进行安装,以使得kafka相关的组件都在一块。
|
||
|
||
**步骤二:解压安装包**
|
||
|
||
```bash
|
||
|
||
cd /home/kafka
|
||
|
||
tar xvzf zookeeper-3.4.14.tar.gz
|
||
```
|
||
|
||
**步骤三:创建数据目录**
|
||
|
||
```bash
|
||
# 创建数据目录
|
||
mkdir /home/kafka/zookeeper-data
|
||
|
||
# 创建myid文件
|
||
touch /home/kafka/zookeeper-data/myid
|
||
|
||
# 数据目录这里写入ZK的ID,如果是第一台机器则这里写1,第二台写2
|
||
echo "1" > /home/kafka/zookeeper-data/myid
|
||
|
||
# 查看myid里面的数据,下面一行那个1是输出的数据
|
||
cat /home/kafka/zookeeper-data/myid
|
||
1
|
||
```
|
||
|
||
**步骤四:修改ZK配置**
|
||
|
||
```bash
|
||
# 进入配置文件
|
||
cd zookeeper-3.4.14/conf
|
||
cp zoo_sample.cfg zoo.cfg
|
||
|
||
|
||
# 修改zoo.cfg这个配置文件
|
||
|
||
# 修改dataDir的配置,将其设置为zk的数据地址,比如
|
||
dataDir=/home/kafka/zookeeper-data
|
||
|
||
# 增加ZK集群之间的交互配置。
|
||
# 这里的server.1后面的1,必须要和myid中的输入数字对应上。
|
||
# 这里是安装三台ZK的情况,如果是安装五台,那么情况类似。
|
||
server.1=IP1:2888:3888
|
||
server.2=IP2:2888:3888
|
||
server.3=IP3:2888:3888
|
||
```
|
||
|
||
**步骤五:启动ZK及检查**
|
||
|
||
```bash
|
||
# 进入bin目录
|
||
cd /home/kafka/zookeeper-3.4.14/bin
|
||
|
||
# 启动命令
|
||
./zkServer.sh start
|
||
|
||
# 停止命令
|
||
./zkServer.sh stop
|
||
|
||
# 查看状态命令
|
||
./zkServer.sh status
|
||
|
||
ZooKeeper JMX enabled by default
|
||
Using config: /home/kafka/zookeeper-3.4.14/bin/../conf/zoo.cfg
|
||
Mode: follower
|
||
|
||
# 部署三台的话,只要三台里面有两台follower,一台leader,那么部署基本就成功了。
|
||
|
||
```
|
||
|
||
**步骤六:集群部署**
|
||
|
||
重复上面的步骤一到步骤五,在另外两台进行部署即可完成最终的部署。
|
||
|
||
部署时,注意myid的内容。
|
||
|
||
## 3、历史安装问题记录
|
||
|
||
### 3.1、防火墙问题
|
||
|
||
在安装的过程中,我们发现zk的状态一直是异常的,查看日志发现当前的zk和其他机器连接失败,后面关闭防火墙之后问题就解决了(注意容器可能没有防火墙服务)。
|
||
|
||
### 3.2、启动顺序问题
|
||
第一台服务器上的zk启动后,./zkServer.sh status查看状态是无法连接服务,cat zookeeper.out 发现是无法连接其他主机。
|
||
原因:启动的时候是分开启动的,如果是三台服务器,第一台启动连接不上其他两台。
|
||
解决方法:启动其他一台或者两台后,在第一台上./zkServer.sh restart重新启动就好了
|