概念: 一台服务器运行多个zookeeper实例。
注意事项:
- clientPort端口必须不同 如:server1>2181,server2>2182,server3>2183
- dataDir和dataLogDir:对应路径需要修改
- server.X和myid:server.X就是对应data/myid文件中的数字。
环境准备
- 下载
稳定版本zookeeper:http://zookeeper.apache.org/releases.html - 上传
将zookeeper压缩包zookeeper-3.4.14.tar.gz上传到linux - 解压缩
创建目录zkcluster
mkdir zkcluster
解压到zkcluster目录下
tar -zxvf zookeeper-3.4.14.tar.gz -C /zkcluster
更名
mv zookeeper-3.4.14 zookeeper01
复制
cp -r zookeeper01/ zookeeper02
cp -r zookeeper01/ zookeeper03
分别在zookeeper01,zookeeper02,zookeeper03目录下创建data和logs目录
mkdir data
cd data
mkdir logs
修改配置文件名称
cd conf
mv zoo_sample.cfg zoo.cfg
配置每个zookeeper的zoo.conf 的 clientPort分别为2181 2182 2183
clientPort=2181
dataDir=/usr/local/zkcluster/zookeeper01/data
dataLogDir=/usr/local/zkcluster/zookeeper01/data/logs
clientPort=2182
dataDir=/usr/local/zkcluster/zookeeper02/data
dataLogDir=/usr/local/zkcluster/zookeeper02/data/logs
clientPort=2183
dataDir=/usr/local/zkcluster/zookeeper03/data
dataLogDir=/usr/local/zkcluster/zookeeper03/data/logs
配置集群
在每个zookeeper的data目录下创建myid文件,内容分别是1,2,3。记录每个服务器的ID
touch myid
在每个zookeeper的zoo.cfg配置客户端访问端口(clientPort)和集群服务器IP列表
server.1=192.168.44.2:2881:3881
server.2=192.168.44.2:2882:3882
server.3=192.168.44.2:2883:3883
#server.服务器ID=服务器IP地址:服务器之间通信端口:服务器之间投票选举端口