前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS 7 中使用 Docker 方式搭建 ZooKeeper 集群

CentOS 7 中使用 Docker 方式搭建 ZooKeeper 集群

作者头像
北漂的我
发布2020-04-24 16:24:04
6190
发布2020-04-24 16:24:04
举报
文章被收录于专栏:北漂的我北漂的我

1. 首先 CentOS 7 中应该安装好 Docker, Docker 安装参考

2. 拉取 ZooKeeper 的 docker 镜像, 可以去 https://hub.docker.com/ 上搜索相关的 ZooKeeper 镜像

代码语言:javascript
复制
docker pull zookeeper:3.4.14

3. 在宿主机上建立三个文件夹, 分别对应三个容器

代码语言:javascript
复制
/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容器

代码语言:javascript
复制
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地址

代码语言:javascript
复制
# 进入容器的命令行
docker exec -it zookeeper-1 /bin/bash
# 查看容器的ip地址
cat /etc/hosts

在宿主机上分别修改zoo.cfg, 在每个zoo.cfg文件最后添加

代码语言:javascript
复制
# 这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. 重启三个容器 或者 先停止再启动.

代码语言:javascript
复制
# 重启容器
docker restart zookeeper-1 zookeeper-2 zookeeper-3
代码语言:javascript
复制
# 停止容器
docker stop zookeeper-1 zookeeper-2 zookeeper-3
代码语言:javascript
复制
# 启动容器
docker start zookeeper-1 zookeeper-2 zookeeper-3

7. 验证是否成功

代码语言:javascript
复制
# 进入一个容器的命令行
docker exec -it zookeeper-1 /bin/bash

# 到 zookeeper/bin下, 运行zookeeper客户端
./zkCli.sh

# 创建一个节点
create /test test

# 然后到其他容器中, 看是否也有刚刚创建的test节点
get /test
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档