zookeeper 學習筆記 平滑公升級遷移

2021-08-01 14:40:38 字數 2921 閱讀 8442

zookeeper集群

集群個數 (2n+1) 一般3-5-7的奇數

把zookeeper的安裝包重新命名為node-1 node-2 node-3 ..

配置 zoo.cfg

zookeeper/node-1的配置(../zookeeper/node-1/conf/zoo.cfg)

ticktime=2000

initlimit=10

synclimit=5

datadir=../zookeeper/node-1/data

datalogdir=../zookeeper/node-1/logs

clientport=2181

server.1=edu-zk-01:2881:3881

server.2=edu-zk-02:2882:3882

server.3=edu-zk-03:2883:3883

zookeeper/node-2的配置(../zookeeper/node-2/conf/zoo.cfg)

ticktime=2000

initlimit=10

synclimit=5

datadir=../zookeeper/node-2/data

datalogdir=../zookeeper/node-2/logs

clientport=2182

server.1=edu-zk-01:2881:3881

server.2=edu-zk-02:2882:3882

server.3=edu-zk-03:2883:3883

zookeeper/node-3的配置(../zookeeper/node-3/conf/zoo.cfg)

ticktime=2000

initlimit=10

synclimit=5

datadir=../zookeeper/node-3/data

datalogdir=../zookeeper/node-3/logs

clientport=2183

server.1=edu-zk-01:2881:3881

server.2=edu-zk-02:2882:3882

server.3=edu-zk-03:2883:3883

---------- 引數說明

ticktime=2000

:ticktime這個時間是作為zookeeper伺服器之間或客戶端與伺服器之間維持心跳的時間間隔

也就是每個ticktime時間就會傳送乙個心跳

initlimit=10

:initlimit這個配置項是用來配置zookeeper接受客戶端(這裡所說的客戶端不是使用者連線zookeeper

伺服器的客戶端,而是zookeeper伺服器集群中連線到leader的follower伺服器)初始化連線時最長

能忍受多少個心跳時間間隔數.當已經超過10個心跳的時間(也就是ticktime)的長度後zookeeper伺服器

還沒有收到客戶端的返回資訊,那麼表明這個客戶端連線失敗,總的時間就是2000*10=20秒

synclimit=5

:synclimit這個配置項標識leader與follower之間傳送訊息,請求和應答時間長度,最長不能超過

多少個ticktime的時間長度,總的時間長度就是5*2000=10秒

datadir=../zookeeper/node-1/data

:datadir顧名思義就是zookeeper儲存資料的目錄,預設情況下zookeeper將寫資料的日誌檔案也儲存

在這個目錄裡

clientport=2181

:clientport這個埠就是客戶端(應用程式)連線zookeeper伺服器端口,zookeeper會監聽這個埠'

接受客戶端的訪問請求

server.a=b:c:d

server.1=edu-zk-01:2881:3381

server.2=edu-zk-02:2882:3882

server.3=edu-zk-03:2883:3883

:a是乙個數字,表示這個是第幾號伺服器

b是這個伺服器的ip位址(或者是與ip位址做了對映的主機名)

c第乙個埠用來集群成員的資訊交換,表示這個伺服器與集群中的leader伺服器交換資訊的埠

d是在leader掛掉時專門用來進行選舉leader所用的埠

注意:如果是偽集群的配置方式,不同的zookeeper例項通訊埠號不能一樣,所以要給他們分配不同的埠號

----- 建立myid檔案

在datadir=../zookeeper/node-x/data下建立myid檔案

編輯myid檔案,並在對應的ip的機器上輸入對應的編號,如在node-1上,

myid的內容就是1,node-2就是2,node-3就是3

$vi ../zookeeper/node-1/data/myid ## 值為1

$vi ../zookeeper/node-2/data/myid ## 值為2

$vi ../zookeeper/node-3/data/myid ## 值為3

防火牆開啟218x\288x\388x埠

dubbo管控臺:

連線多個註冊中心

dubbo.registry.address=ip,ip,ip...逗號隔開

---zookeeper 公升級遷移

#dubbo

dubbo.registry.address=192.168.1.71:2181|192.168.1.81:2081,192.168.1.82:2082,192.168.1.83:2083

不同註冊中心用|分割,同一註冊中心不同節點用,分割

取消掉需要去掉的節點

dubbo.registry.address=192.168.1.81:2081,192.168.1.82:2082,192.168.1.83:2083

zookeeper學習筆記

zookeeper簡介 zookeeper是乙個為分布式應用程式提供高效能協調服務的工具集合,是著名的開源框架 hadoop的子專案,它可以應用在一些需要提供統一協調服務的任務中,例如命名 配置管理 同步和組服務等,而在分布式快取設計中,它被作為乙個協調分布式環境中各快取伺服器之間共享狀態資料的基礎...

zookeeper學習筆記一

源自google的chubby yahoo的實現,注就了我們有機會看到如此優秀的協作工具 zk.當我在看分布式系統的書籍時,同時在學習zk,可以進行比較分析,很好!感覺這東西的原理或多或少已經在早前某些專案上接觸到,只是沒有那麼具體和靈活。比如開發中遇到的索引同步問題,loadbalance切換se...

ZooKeeper學習筆記(二)

2.將解壓後的zookeeper複製出2份,將這三分分別命名 如 z1,z2,z3 ticktime 2000 initlimit 10 synclimit 5 datadir data clientport 2181 server.1 127.0.0.1 2222 2223 server.2 12...