栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

zookeeper集群搭建

zookeeper集群搭建

本文将记录使用zookeeper镜像,分别在两种场景下搭建3节点集群:1.在一台机器上使用容器方式安装zookeeper集群;2.在三台机器上使用容器方式安装zookeeper集群。

此次使用的zookeeper镜像是官方镜像。

先介绍第一种方式:

1.在宿主机分别建立3个zookeeper容器ENV参数文件,编辑EVN参数文件容器启动会传入的环境变量。

容器:zookeeper1

文件名:/root/zookeeper/zookeeperetc/zookeeper1.list

文件内容:

ZOO_MY_ID=1
ZOO_SERVERS=server.1=0.0.0.0:2888:3888;2181 server.2=zookeeper2:2888:3888;2181 server.3=zookeeper3:2888:3888;2181
TZ=Asia/Shanghai

容器:zookeeper2

文件名:/root/zookeeper/zookeeperetc/zookeeper2.list

文件内容:

ZOO_MY_ID=2
ZOO_SERVERS=server.1=zookeeper1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zookeeper3:2888:3888;2181
TZ=Asia/Shanghai

容器:zookeeper3

文件名:/root/zookeeper/zookeeperetc/zookeeper3.list

文件内容:

ZOO_MY_ID=3
ZOO_SERVERS=server.1=zookeeper1:2888:3888;2181 server.2=zookeeper2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181
TZ=Asia/Shanghai

2.建立宿主机映射目录,以便将zookeeper数据映射出来。

mkdir -p /root/zookeeper/zookeeperdata/zookeeper1/data
mkdir -p /root/zookeeper/zookeeperdata/zookeeper1/datalog
mkdir -p /root/zookeeper/zookeeperdata/zookeeper2/data
mkdir -p /root/zookeeper/zookeeperdata/zookeeper2/datalog
mkdir -p /root/zookeeper/zookeeperdata/zookeeper3/data
mkdir -p /root/zookeeper/zookeeperdata/zookeeper3/datalog

3.建立容器网络。

docker network create zk_network

4.启动容器。

docker run --name zookeeper1 -d --network zk_network -v /root/zookeeper/zookeeperdata/zookeeper1/data:/data -v /root/zookeeper/zookeeperdata/zookeeper1/datalog:/datalog --env-file /root/zookeeper/zookeeperetc/zookeeper1.list zookeeper:3.7.0

docker run --name zookeeper2 -d --network zk_network -v /root/zookeeper/zookeeperdata/zookeeper2/data:/data -v /root/zookeeper/zookeeperdata/zookeeper2/datalog:/datalog --env-file /root/zookeeper/zookeeperetc/zookeeper2.list zookeeper:3.7.0

docker run --name zookeeper3 -d --network zk_network -v /root/zookeeper/zookeeperdata/zookeeper3/data:/data -v /root/zookeeper/zookeeperdata/zookeeper3/datalog:/datalog --env-file /root/zookeeper/zookeeperetc/zookeeper3.list zookeeper:3.7.0

5.验证集群。

找到leader,停止该容器。

[root@VM_0_11_centos zookeeperdata]# docker exec -it zookeeper2 /bin/bash
root@aebacb212045:/apache-zookeeper-3.7.0-bin# 
root@aebacb212045:/apache-zookeeper-3.7.0-bin# 
root@aebacb212045:/apache-zookeeper-3.7.0-bin# 
root@aebacb212045:/apache-zookeeper-3.7.0-bin# 
root@aebacb212045:/apache-zookeeper-3.7.0-bin# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader
root@aebacb212045:/apache-zookeeper-3.7.0-bin# 

查看新的leader。

[root@VM_0_11_centos zookeeperdata]# docker stop zookeeper2
zookeeper2
[root@VM_0_11_centos zookeeperdata]# docker exec -it zookeeper1 /bin/bash
root@1f6bc695b17d:/apache-zookeeper-3.7.0-bin# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
root@1f6bc695b17d:/apache-zookeeper-3.7.0-bin# exit
exit
[root@VM_0_11_centos zookeeperdata]# docker exec -it zookeeper3 /bin/bash
root@5ef22706543d:/apache-zookeeper-3.7.0-bin# zkServer
zkServer-initialize.sh  zkServer.cmd            zkServer.sh             
root@5ef22706543d:/apache-zookeeper-3.7.0-bin# zkServer
zkServer-initialize.sh  zkServer.cmd            zkServer.sh             
root@5ef22706543d:/apache-zookeeper-3.7.0-bin# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader
root@5ef22706543d:/apache-zookeeper-3.7.0-bin# exit
exit
[root@VM_0_11_centos zookeeperdata]# 

验证成功。

介绍第二种部署模式:

1.分别在三个机器上创建EVN文件。

新建文件/root/docker_env_file/zookeeper/zookeeper.list

#A机器:
ZOO_MY_ID=1
ZOO_SERVERS=server.1=0.0.0.0:2888:3888;2181 server.2=B_IP:2888:3888;2181 server.3=C_IP:2888:3888;2181
TZ=Asia/Shanghai

#B机器:
ZOO_MY_ID=2
ZOO_SERVERS=server.1=A_IP:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=C_IP:2888:3888;2181
TZ=Asia/Shanghai

#C机器:
ZOO_MY_ID=3
ZOO_SERVERS=server.1=A_IP:2888:3888;2181 server.2=B_IP:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181
TZ=Asia/Shanghai

2.分别在三个机器创建zookeeper数据目录。

mkdir -p /opt/zookeeper/data
mkdir -p /opt/zookeeper/datalog

3.分别在三个机器启动容器。

docker run --name zookeeper -d -v /opt/zookeeper/data:/data -v /opt/zookeeper/datalog:/datalog -env-file /root/docker_env_file/zookeeper/zookeeper.list -p 2181:2181 -p 2888:2888 -p3888:3888 zookeeper:3.7.0

4.验证方法同上。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/711687.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号