1. 程式人生 > >Docker快速搭建zookeeper3.4叢集

Docker快速搭建zookeeper3.4叢集

​本文由作者:蠻大人  授權釋出
連結: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/
著作權歸作者所有。
轉載請聯絡作者獲得授權。

專案引入了 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 目錄下。

匯入映象

[[email protected] docker-images]# docker load -i zookeeper3.4.tar
[[email protected] docker-images]# docker images | grep zoo

啟動

[[email protected] zookeeper3.4]# docker-compose up -d

驗證

[[email protected] zookeeper3.4]# echo stat | nc 127.0.0.1 2181
[[email protected] zookeeper3.4]# echo stat | nc 127.0.0.1 2182
[[email protected] zookeeper3.4]# echo stat | nc 127.0.0.1 2183

搞定,收工。發郵件,通知相關人等。

參考

docker + k8s

此課程為網路直播課程,一共 10 個課時,每週上一個全天,歷時兩個多月。附加:錄播視訊+筆記+除課堂外的答疑時間(7次+)2019-1-13 開課,原價 5800 ,現在週年活動 100 定金抵 800

 

課程主講師:GY 老師

10 年一線軟體開發經驗,先後經歷了傳統安全公司,以及多家網際網路公司;在安全開發方面,曾開發過 Linux 防火牆、web 應用防火牆、Linux 安全核心加固,基於大流量的 Web 安全威脅分析等專案;在網際網路公司工作時,曾基於 DPDK 高效能網路開發框架開發過基於全流量的網路流量分析平臺和基於 Sflow 網路流量分析平臺,基於Golang 開發SmartDNS 等;開發語言也是從C -> python -> golang 的轉變過程?現從事基於 K8S 和 Docker在私有云平臺建設方面的研發工作;具備豐富的Linux系統開發經驗、網路開發經驗以及專案管理經驗;目前開發工作90+% 都在用 Golang,Golang 是一門簡潔、高效、強大且靈活的程式語言。

關於課程的具體內容想要了解的, 掃碼加小助手諮詢瞭解