zookeeper集群搭建
2020-09-22 本文已影响0人
蜻蜓队长家长
linux搭建zookeeper集群
- 获取zookeeper安装包
#切换到安装目录进行操作
cd /usr/local
# 下载zk源码包
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz
如果地址失效请手动选择你需要下载的版本:http://mirror.bit.edu.cn/apache/zookeeper
- 解压
tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz
- 拷贝zoo_samle.cfg为zoo.cfg
#进入到conf目录
cd apache-zookeeper-3.5.8-bin/conf
#拷贝zoo_samle.cfg为zoo.cfg
cp zoo_sample.cfg zoo.cfg
- 将解压后的zk包重命名并复制到多个集群环境
#重命名zk
mv apache-zookeeper-3.5.8-bin zk1
#拷贝模拟集群环境
cp -r zk1 zk2
cp -r zk1 zk3
因为是测试,本教程在同一个虚拟机中创建多个zk模拟集群环境,教程会通过配置每个zk的zoo.cfg端口不一样来启动多个zk
- 创建zk的数据文件夹目录data
#切换到/root目录
cd /root
#创建zk服务器1数据目录
mkdir -p zkcluster/zk01/data
#创建myid文件
touch /root/zkcluster/zk01/data/myid
#编辑myid文件
vim /root/zkcluster/zk01/data/myid
#修改内容为1并保存,代表zkServer1
同理操作server2和server3
#切换到/root目录
#创建zk服务器2数据目录
mkdir -p zkcluster/zk02/data
#创建myid文件
touch /root/zkcluster/zk02/data/myid
#编辑myid文件
vim /root/zkcluster/zk02/data/myid
#修改内容为2并保存,代表zkServer12
#创建zk服务器3数据目录
mkdir -p zkcluster/zk03/data
#创建myid文件
touch /root/zkcluster/zk03/data/myid
#编辑myid文件
vim /root/zkcluster/zk03/data/myid
#修改内容为3并保存,代表zkServer13
- 修改zoo.cfg
#修改zk1的配置
vim /usr/local/zk1/conf/zoo.cfg
修改内容一下内容,dataDir是zk数据目录,clientPort是启动端口,注意如果多个集群在同一台主机要配置不同的端口
dataDir=/root/zkcluster/zk01/data
clientPort=2181
在zoo.cfg文件尾添加
#server.A=B:C:D 其中 A 数字,表示是第几号服务器. dataDir目录下必有一个myid文件,里面只存储A的值,ZK启动时读取此文件,与下面列表比较判断是哪个server
# B 是服务器 ip ;C表示与 Leader 服务器交换信息的端口;D 表示的是进行选举时的通信端口。
server.1=172.17.151.170:2881:3881
server.2=172.17.151.170:2882:3882
server.3=172.17.151.170:2883:3883
同理编辑其它zk集群的配置
#修改zk2的配置
vim /usr/local/zk2/conf/zoo.cfg
修改内容
dataDir=/root/zkcluster/zk02/data
clientPort=2182
末尾添加
server.1=172.17.151.170:2881:3881
server.2=172.17.151.170:2882:3882
server.3=172.17.151.170:2883:3883
省略修改zk3 zoo.cfg过程
- 启动zk
/usr/local/zk1/bin/zkService.sh start
/usr/local/zk2/bin/zkService.sh start
/usr/local/zk3/bin/zkService.sh start
- 查看zk状态
/usr/local/zk1/bin/zkService.sh status
/usr/local/zk2/bin/zkService.sh status
/usr/local/zk3/bin/zkService.sh status