1 环境准备

此处使用三台虚拟机,实现zookeeper集群配置,IP地址信息如下:

1
2
3
4
cat /etc/hosts
192.168.161.128 h1
192.168.161.129 h2
192.168.161.130 h3

2 安装配置

2.1 单节点配置

此处先在一台主机上配置好之后,将目录直接复制到的其他两个主机。

下载

1
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/zookeeper-3.4.9.tar.gz

解压到指定目录

1
2
3
4
5
6
# 解压
tar -zxvf zookeeper-3.4.9.tar.gz
# 为方便操作,将解压后的目录移动的opt下
# 并重命名为zookeeper
mv zookeeper-3.4.9 /opt/zookeeper

编辑配置文件

1
2
3
4
5
6
7
8
9
10
11
cd /opt/zookeeper/conf/
# conf即为zookeeper的配置文件目录
[root@h1 conf]# tree
.
├── configuration.xsl
├── log4j.properties
└── zoo_sample.cfg # 自带的配置文件示例
# 复制一份配置文件
cp zoo_sample.cfg zoo.cfg

配置文件中需要改动的部分

1
2
3
4
5
6
7
8
9
10
11
12
13
# 数据目录
dataDir=/var/zookeeper
# 端口
clientPort=2181
# 最后加入一行
# h1代表主机名或IP地址
# 第一个端口2183用于Leader和Follower之间的通信
# 第二个端口2184用于Leader选举时投票所用
# 这两个端口按需任意配置即可
server.1=h1:2183:2184
server.2=h2:2183:2184
server.3=h3:2183:2184

myid

1
2
# 具体位置和你的dataDir一致
echo 1 > /var/zookeeper/myid

2.2 配置其他主机

1
2
3
4
5
6
7
8
9
10
11
12
13
# 此处使用ssh提供的scp命令复制
# 当然不管什么方式只要复制过去就行了
# 复制到主机h2
scp -r /opt/zookeeper root@h2:/opt/zookeeper
# 复制到主机h3
scp -r /opt/zookeeper root@h3:/opt/zookeeper
# 另外别忘了myid文件
# h2
echo 2 > /var/zookeeper/myid
# h3
echo 3 > /var/zookeeper/myid

3 启动

1
2
分别启动三个主机上的zookeeper
/opt/zookeeper/bin/zkServer.sh start