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

回到顶部