Docker 快速搭建 zookeeper3.4 集群

项目引入了 zookeeper,甲方一时提供不了开发用的 zookeeper 服务器。只能我们自己在开发服务器上自行搭建。因处内网,所以还是选择了直接上镜像,不用面对一堆依赖包和环境污染问题。

笔记本验证 MacBook

本地已有 docker环境。zookeeper 版本是需要最新的稳定版 3.4.12;查了 dockerhub,直接引用 3.4 的标签即可;

下载镜像

ChinaDreams:docker-project kangcunhua$ docker pull zookeeper:3.4

引入 docker-compose

ChinaDreams:docker-project kangcunhua$ mkdir zookeeper3.4 && cd zookeeper3.4
ChinaDreams:zookeeper3.4 kangcunhua$ vi docker-compose.yml

启动

ChinaDreams:zookeeper3.4 kangcunhua$ docker-compose up

验证

使用 echo stat | nc 127.0.0.1 port 来查看节点 Mode 是 follower 还是 leader 以及是否启动。此处对外暴露端口是2181,2182,2183;

ChinaDreams:zookeeper3.4.10 kangcunhua$ echo stat | nc 127.0.0.1 2181
Zookeeper version: 3.4.12-e5259e437540f349646870ea94dc2658c4e44b3b, built on 03/27/2018 03:55 GMT
Clients:
 /192.168.32.1:55790[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x100000000
Mode: follower
Node count: 4
ChinaDreams:zookeeper3.4.10 kangcunhua$ echo stat | nc 127.0.0.1 2182
Zookeeper version: 3.4.12-e5259e437540f349646870ea94dc2658c4e44b3b, built on 03/27/2018 03:55 GMT
Clients:
 /192.168.32.1:36896[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x100000000
Mode: leader
Node count: 4
ChinaDreams:zookeeper3.4.10 kangcunhua$ echo stat | nc 127.0.0.1 2183
Zookeeper version: 3.4.12-e5259e437540f349646870ea94dc2658c4e44b3b, built on 03/27/2018 03:55 GMT
Clients:
 /192.168.32.1:50086[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: follower
Node count: 4

docker-compose.yml 内容

version: '3.4'

services:
  zoo1:
    image: zookeeper:3.4
    restart: always
    hostname: zoo1
    ports:
      - 2181:2181
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888

  zoo2:
    image: zookeeper:3.4
    restart: always
    hostname: zoo2
    ports:
      - 2182:2181
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zoo3:2888:3888

  zoo3:
    image: zookeeper:3.4
    restart: always
    hostname: zoo3
    ports:
      - 2183:2181
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=0.0.0.0:2888:3888

内网部署

导出镜像

ChinaDreams:zookeeper3.4.10 Desktop$ docker save -o zookeeper3.4.tar zookeeper:3.4

将 zookeeper3.4.tar 以及包含 docker-compose.yml 的 zookeeper3.4 目录上传至内网;前者上传至 docker-images目录,后者上传至 docker-project 目录。这两个目录我建在了 home 目录下。

导入镜像

[dev@pma03 docker-images]# docker load -i zookeeper3.4.tar
[dev@pma03 docker-images]# docker images | grep zoo

启动

[dev@pma03 zookeeper3.4]# docker-compose up -d

验证

[dev@pma03 zookeeper3.4]# echo stat | nc 127.0.0.1 2181
[dev@pma03 zookeeper3.4]# echo stat | nc 127.0.0.1 2182
[dev@pma03 zookeeper3.4]# echo stat | nc 127.0.0.1 2183

参考

docker + k8s

此课程为网络直播课程,一共 10 个课时,每周上一个全天,历时两个多月。附加:录播视频+笔记+除课堂外的答疑时间(7次+)2019-1-13 开课,原价 5800 ,现在周年活动 100 定金抵 800
Docker 快速搭建 zookeeper3.4 集群
Docker 快速搭建 zookeeper3.4 集群

课程主讲师:GY 老师
10 年一线软件开发经验,先后经历了传统安全公司,以及多家互联网公司;在安全开发方面,曾开发过 Linux 防火墙、web 应用防火墙、Linux 安全内核加固,基于大流量的 Web 安全威胁分析等项目;在互联网公司工作时,曾基于 DPDK 高性能网络开发框架开发过基于全流量的网络流量分析平台和基于 Sflow 网络流量分析平台,基于Golang 开发SmartDNS 等;开发语言也是从C -> python -> golang 的转变过程?现从事基于 K8S 和 Docker在私有云平台建设方面的研发工作;具备丰富的Linux系统开发经验、网络开发经验以及项目管理经验;目前开发工作90+% 都在用 Golang,Golang 是一门简洁、高效、强大且灵活的编程语言。

关于课程的具体内容想要了解的, 添加加小助手WeChat:17812796384 咨询了解

本文由作者:蛮大人 授权发布
链接:https://opsdev.fun/2018/06/19/O1-8-40-Docker%E5%BF%AB%E9%80%9F%E6%90%AD%E5%BB%BAzookeeper%E9%9B%86%E7%BE%A4/
著作权归作者所有。
转载请联系作者获得授权。

猜你喜欢

转载自blog.51cto.com/51reboot/2336064