日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 0.前言
  • 1.前提
  • 2.開始搭建
    • 解釋
    • 創建zoo.cfg
  • 3.docker搭建
    • 1.docker創建網絡
    • 2.啟動第1個zk節點
    • 3.啟動第2個zk節點
    • 4.啟動第3個zk節點
  • 4.訪問節點
    • 1.進入zk第一個節點的docker容器內部
    • 2.使用zk的客戶端進行訪問
    • 3.在zk中使用命令

0.前言

之前在學springcloud的時候,提到有些項目還是使用zookeeper作為注冊中心。

因此決定掌握這個技能,但是本地為了測試而部署一套zookeeper集群還是比較麻煩的。

所以打算使用docker在本地上搭建zookeeper集群

1.前提

  • 電腦里安裝過docker
  • 了解部分docker命令

2.開始搭建

準備好一個空目錄,需要建3個文件夾,然后每個文件夾里面建2個文件,如下所示:

.
├── zk1 (文件夾)
│   ├── myid (文件)
│   └── zoo.cfg (文件)
├── zk2(文件夾)
│   ├── myid(文件)
│   └── zoo.cfg(文件)
└── zk3(文件夾)
    ├── myid(文件)
    └── zoo.cfg(文件)

解釋

文件   文件里面內容
zk1/myid Zookeeper第一個節點的id配置,只需要一個數字 100
zk1/zoo.cfg Zookeeper第一個節點的配置信息 之后有個例子
zk2/myid Zookeeper第二個節點的id配置,只需要一個數字 200
zk2/zoo.cfg Zookeeper第二個節點的配置信息 之后有個例子
zk3/myid Zookeeper第三個節點的id配置,只需要一個數字 300
zk3/zoo.cfg Zookeeper第三個節點的配置信息 之后有個例子

創建zoo.cfg

3個zoo.cfg里面內容是一樣的,如下所示

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/zkData
clientPort=2181
?
server.100=127.0.0.1:2888:3888
server.200=127.0.0.1:2888:3888
server.300=127.0.0.1:2888:3888

比較奇怪的是最后3行,這3行也是這個集群能否創建的關鍵

server.100=127.0.0.1:2888:3888
server.200=127.0.0.1:2888:3888
server.300=127.0.0.1:2888:3888

他們都形如

server.A=B:C:D

具體含義如下

參數 含義
server 常量,這個不用改
A 就是myid,在【開始搭建】的【解釋】里提到過的數字
B 服務器地址,因為都是本地環境搭建的,就是127.0.0.1
C 信息交互端口,不用改,就2888挺好
D 選舉端口,不用改,就3888挺好

3.docker搭建

當3個文件夾,6個目錄創建好了以后,就可以使用命令進行搭建了

1.docker創建網絡

創建docker網絡,是為了保證3個容器可以互相通信

命令如下:其中network-zk-nb是自己取的,后面創建容器時會用到

docker network create network-zk-nb

2.啟動第1個zk節點

如果是linux或mac

docker run -d --name  zk1 \
--restart always  \
-e JVMFLAGS="-Xmx1024m" \
-v /Users/admin/env/zk/zk1/zoo.cfg:/conf/zoo.cfg \
-v /Users/admin/env/zk/zk1/myid:/data/myid \
--network network-zk-nb --network-alias zk1 \
-p 2181:2181   zookeeper:3.5.7

如果是windows,那么就改為

docker run -d --name  zk1 ^
--restart always  ^
-e JVMFLAGS="-Xmx1024m" ^
-v ./zk1/zoo.cfg:/conf/zoo.cfg ^
-v ./zk1/zoo.cfg:/data/myid ^
--network network-zk-nb --network-alias zk1 ^
-p 2181:2181   zookeeper:3.5.7

PS:因為里面用到了./,也就是相對目錄,所以你必須要在3個目錄所在的目錄下才能使用這條命令

3.啟動第2個zk節點

docker run -d --name  zk2 \
--restart always  \
-e JVMFLAGS="-Xmx1024m" \
-v /Users/admin/env/zk/zk2/zoo.cfg:/conf/zoo.cfg \
-v /Users/admin/env/zk/zk2/myid:/data/myid \
--network network-zk-nb --network-alias zk2 \
-p 2182:2181   zookeeper:3.5.7

4.啟動第3個zk節點

docker run -d --name  zk3 \
--restart always  \
-e JVMFLAGS="-Xmx1024m" \
-v /Users/admin/env/zk/zk3/zoo.cfg:/conf/zoo.cfg \
-v /Users/admin/env/zk/zk3/myid:/data/myid \
--network network-zk-nb --network-alias zk3 \
-p 2183:2181   zookeeper:3.5.7

至此zookeeper的集群環境搭建完畢

4.訪問節點

1.進入zk第一個節點的docker容器內部

docker exec -it zk1 /bin/bash

查看容器目錄

ls -l 
-rw-r--r-- 1 zookeeper zookeeper 11358 Sep 13  2018 LICENSE.txt
-rw-r--r-- 1 zookeeper zookeeper   432 Feb 10  2020 NOTICE.txt
-rw-r--r-- 1 zookeeper zookeeper  1560 Feb  7  2020 README.md
-rw-r--r-- 1 zookeeper zookeeper  1347 Feb  7  2020 README_packaging.txt
drwxr-xr-x 2 zookeeper zookeeper  4096 Feb 10  2020 bin
drwxr-xr-x 2 zookeeper zookeeper  4096 May 16  2020 conf
drwxr-xr-x 5 zookeeper zookeeper  4096 Feb 10  2020 docs
drwxr-xr-x 2 zookeeper zookeeper  4096 May 16  2020 lib

進入bin目錄

cd bin

查看bin目錄

ls -l
total 56
-rwxr-xr-x 1 zookeeper zookeeper  232 May  4  2018 README.txt
-rwxr-xr-x 1 zookeeper zookeeper 2067 Feb  7  2020 zkCleanup.sh
-rwxr-xr-x 1 zookeeper zookeeper 1158 Feb 10  2020 zkCli.cmd
-rwxr-xr-x 1 zookeeper zookeeper 1621 Feb  7  2020 zkCli.sh
-rwxr-xr-x 1 zookeeper zookeeper 1766 Feb  7  2020 zkEnv.cmd
-rwxr-xr-x 1 zookeeper zookeeper 3690 Jan 31  2020 zkEnv.sh
-rwxr-xr-x 1 zookeeper zookeeper 4573 Feb  7  2020 zkServer-initialize.sh
-rwxr-xr-x 1 zookeeper zookeeper 1286 Jan 31  2020 zkServer.cmd
-rwxr-xr-x 1 zookeeper zookeeper 9386 Feb  7  2020 zkServer.sh
-rwxr-xr-x 1 zookeeper zookeeper  996 Oct  3  2019 zkTxnLogToolkit.cmd
-rwxr-xr-x 1 zookeeper zookeeper 1385 Feb  7  2020 zkTxnLogToolkit.sh

2.使用zk的客戶端進行訪問

zkCli.sh
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] 

3.在zk中使用命令

ls /

至此,zk集群的搭建與使用就已經完成,后面學習的就是使用java的方式來連接

分享到:
標簽:搭建 方法 服務器 步驟 集群
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定