CentOS7中使用Docker方式搭建ZooKeeper集群
1. 首先 CentOS 7 中应该安装好 Docker, Docker 安装参考
2. 拉取 ZooKeeper 的 docker 镜像, 可以去 https://hub.docker.com/ 上搜索相关的 ZooKeeper 镜像
docker pull zookeeper:3.4.14
3. 在宿主机上建立三个文件夹, 分别对应三个容器
/root/zookeeper01/conf/root/zookeeper01/data
/root/zookeeper01/datalog
/root/zookeeper02/conf
/root/zookeeper02/data
/root/zookeeper02/datalog
/root/zookeeper03/conf
/root/zookeeper03/data
/root/zookeeper03/datalog
4. 创建并运行三个ZooKeeper容器
docker run -d --name zookeeper-1 -v /root/zookeeper01/conf:/conf #映射文件夹到宿主机对应文件夹
-v /root/zookeeper01/data:/data #映射文件夹到宿主机对应文件夹
-v /root/zookeeper01/datalog:/datalog #映射文件夹到宿主机对应文件夹
zookeeper:3.4.14
docker run -d --name zookeeper-2
-v /root/zookeeper02/conf:/conf
-v /root/zookeeper02/data:/data
-v /root/zookeeper02/datalog:/datalog
zookeeper:3.4.14
docker run -d --name zookeeper-3
-v /root/zookeeper03/conf:/conf
-v /root/zookeeper03/data:/data
-v /root/zookeeper03/datalog:/datalog
zookeeper:3.4.14
5. 修改对应的 zoo.cfg 文件 和 myid 文件
首先分别获取三个容器的 ip地址
# 进入容器的命令行docker exec -it zookeeper-1 /bin/bash
# 查看容器的ip地址
cat /etc/hosts
在宿主机上分别修改zoo.cfg, 在每个zoo.cfg文件最后添加
# 这3个ip分别是三个容器的ip, 2888是ZooKeeper集群内数据通讯端口, 3888是集群内选举端口server.1=172.17.0.2:2888:3888
server.2=172.17.0.3:2888:3888
server.3=172.17.0.4:2888:3888
分别修改三个myid文件, 内容分别是 1 , 2 , 3
6. 重启三个容器 或者 先停止再启动.
# 重启容器docker restart zookeeper-1 zookeeper-2 zookeeper-3
# 停止容器docker stop zookeeper-1 zookeeper-2 zookeeper-3
# 启动容器docker start zookeeper-1 zookeeper-2 zookeeper-3
7. 验证是否成功
# 进入一个容器的命令行docker exec -it zookeeper-1 /bin/bash
# 到 zookeeper/bin下, 运行zookeeper客户端
./zkCli.sh
# 创建一个节点
create /test test
# 然后到其他容器中, 看是否也有刚刚创建的test节点
get /test
以上是 CentOS7中使用Docker方式搭建ZooKeeper集群 的全部内容, 来源链接: utcz.com/z/514568.html