zookeeper 學習筆記 平滑升級遷移

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章