Zookeeper集群搭建

Zookeeper節(jié)點(diǎn)部署越多,服務(wù)的可靠性越高,建議部署奇數(shù)個(gè)節(jié)點(diǎn),因?yàn)閦ookeeper集群是以宕機(jī)個(gè)數(shù)過(guò)半才會(huì)讓整個(gè)集群宕機(jī)的.
但是隨著zookeeper的集群機(jī)器增多,讀請(qǐng)求的吞吐會(huì)提高但是寫(xiě)請(qǐng)求的吞吐會(huì)下降.

由于主機(jī)資源有限,這里只演示四臺(tái)zk主機(jī)的偽集群部署方式,真實(shí)的集群部署類似.
注意:我這里增加了第四臺(tái)zk服務(wù)器,這臺(tái)zk服務(wù)器比較特殊,他是作為觀察者存在的,不參與leader選舉.

1.修改配置文件/conf
由于這里是偽集群,所以不能使用默認(rèn)的配置文件zoo.cfg,這里創(chuàng)建四個(gè)配置文件

cp zoo.cfg zoo-1.cfg  
cp zoo.cfg zoo-2.cfg
cp zoo.cfg zoo-3.cfg
cp zoo.cfg zoo-4.cfg

分別修改四個(gè)配置文件,主要修改數(shù)據(jù)目錄在跳、端口號(hào)、集群配置
比如zoo-1.cfg

dataDir=ZOOKEEPER_HOME/tmp/zookeeper/1

clientPort=2182

server.1=IP:2886:3886
server.2=IP:2887:3887
server.3=IP:2888:3888
server.4=IP:2889:3889:observer

其他3個(gè)配置文件類似,保證每個(gè)zk服務(wù)器的數(shù)據(jù)目錄和端口號(hào)不一樣,集群配置必須一致.

這里需要關(guān)注下zk集群的配置,格式:server.A=B:C:D[:observer]
A是一個(gè)數(shù)字,表示這個(gè)是第幾個(gè)zk服務(wù)器,這個(gè)數(shù)字后面集群選舉leader的時(shí)候會(huì)用到
B是這個(gè)zk服務(wù)器的IP地址,也可以設(shè)置為主機(jī)名
C是端口號(hào),用來(lái)集群成員的信息交換,表示這個(gè)服務(wù)器與集群中的leader服務(wù)器交換信息的端口
D是在leader掛掉時(shí)專門(mén)用來(lái)進(jìn)行選舉leader所用的端口
observer表示這臺(tái)zk服務(wù)器只作為觀察者存在,不參與leader選舉

2.在數(shù)據(jù)目錄下創(chuàng)建ServerID標(biāo)志
我們需要在zk的數(shù)據(jù)目錄下新建myid文件,文件內(nèi)如即當(dāng)前zk的A值.
在這里對(duì)第一個(gè)zk即在數(shù)據(jù)目錄ZOOKEEPER_HOME/tmp/zookeeper/1下新建myid文件,文件內(nèi)容為1.其他幾個(gè)zk服務(wù)器配置類似.

3.啟動(dòng)深员、查看区匠、停止zk集群
由于是偽集群模式,我們需要告訴zk服務(wù)器使用的是哪個(gè)配置文件,默認(rèn)用的是conf/zoo.cfg.

./zkServer.sh start ../conf/zoo-1.cfg

./zkServer.sh status ../conf/zoo-1.cfg  

./zkServer.sh stop ../conf/zoo-1.cfg

我們分別啟動(dòng)zk1,zk2,zk3,zk4,查看zk集群的狀態(tài)

./zkServer.sh status ../conf/zoo-1.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo-1.cfg
Mode: follower  

./zkServer.sh status ../conf/zoo-2.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo-2.cfg
Mode: leader  

./zkServer.sh status ../conf/zoo-3.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo-3.cfg
Mode: follower  

./zkServer.sh status ../conf/zoo-4.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo-4.cfg
Mode: observer

這個(gè)結(jié)果是可預(yù)知的.
當(dāng)啟動(dòng)zk1的時(shí)候,通過(guò)配置文件中配的端口號(hào)D嘗試與集群中的其他zk服務(wù)器通信進(jìn)行l(wèi)eader選舉.由于其他zk服務(wù)器都未啟動(dòng),zk1一直在嘗試連接然后被拒絕.
啟動(dòng)zk2,此時(shí)滿足了仲裁法定人數(shù)(集群服務(wù)器數(shù)量至少需要大于所有服務(wù)器一半數(shù)量,由于zk4是觀察者,不參與leader選舉,這里有效的zk服務(wù)器數(shù)2大于所有服務(wù)器3的一半)
zk1和zk2可以進(jìn)行l(wèi)eader選舉.
zookeeper的leader選舉規(guī)則很簡(jiǎn)單:優(yōu)先選zxid值最大的zk服務(wù)器,如果多個(gè)zk服務(wù)器擁有最新的zxid值,則取sid值最大的zk服務(wù)器. 注意,這里的sid即我們配置zk集群時(shí)的A值.
基于這個(gè)leader選舉規(guī)則,zk2被選舉為leader,zk1成為follower.
啟動(dòng)zk3,尋找到leader,跟隨leader,zk3成為follower.
啟動(dòng)zk4,成為observer.
注意:可以通過(guò)啟動(dòng)日志bin/zookeeper.out看到這個(gè)過(guò)程.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末干像,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子驰弄,更是在濱河造成了極大的恐慌麻汰,老刑警劉巖饮六,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件椅文,死亡現(xiàn)場(chǎng)離奇詭異赶促,居然都是意外死亡沉御,警方通過(guò)查閱死者的電腦和手機(jī)橘霎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)玲昧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)疗垛,“玉大人谈山,你說(shuō)我怎么就攤上這事智亮∫淠常” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵阔蛉,是天一觀的道長(zhǎng)弃舒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)状原,這世上最難降的妖魔是什么聋呢? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮颠区,結(jié)果婚禮上削锰,老公的妹妹穿的比我還像新娘。我一直安慰自己毕莱,他們只是感情好器贩,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著朋截,像睡著了一般蛹稍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上部服,一...
    開(kāi)封第一講書(shū)人閱讀 49,985評(píng)論 1 291
  • 那天唆姐,我揣著相機(jī)與錄音,去河邊找鬼廓八。 笑死奉芦,一個(gè)胖子當(dāng)著我的面吹牛赵抢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播声功,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼烦却,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了减噪?” 一聲冷哼從身側(cè)響起短绸,我...
    開(kāi)封第一講書(shū)人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎筹裕,沒(méi)想到半個(gè)月后醋闭,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡朝卒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年证逻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抗斤。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡囚企,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瑞眼,到底是詐尸還是另有隱情龙宏,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布伤疙,位于F島的核電站银酗,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏徒像。R本人自食惡果不足惜黍特,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锯蛀。 院中可真熱鬧灭衷,春花似錦、人聲如沸旁涤。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)劈愚。三九已至部默,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間造虎,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工纷闺, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留算凿,地道東北人份蝴。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像氓轰,于是被迫代替她去往敵國(guó)和親婚夫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 1 Zookeeper概述# ZooKeeper是一個(gè)為分布式應(yīng)用所設(shè)計(jì)的分布的署鸡、開(kāi)源的協(xié)調(diào)服務(wù)案糙,它主要是用來(lái)解決...
    七寸知架構(gòu)閱讀 7,343評(píng)論 0 101
  • 一、Nginx/keepalived/lvs的介紹 1.nginx 1.1.nginx簡(jiǎn)介 Nginx是一個(gè)自由靴庆、...
    Java幫幫閱讀 1,301評(píng)論 0 5
  • 前兩天看一個(gè)研究生導(dǎo)師的視頻时捌,他問(wèn)到,你此生持之以恒炉抒,終身追求的是什么奢讨? 看你這個(gè)題目我一下子就傻了,懵了焰薄!我們現(xiàn)...
    破崖青竹閱讀 308評(píng)論 0 2
  • 1.下午放學(xué)后拿诸,我和圖圖說(shuō),昨天你的小熊和那些玩具都還在奶奶家塞茅,你想今天過(guò)去拿亩码,然后住那里?還是明天去拿野瘦? 圖圖想...
    曼教育曼生活閱讀 230評(píng)論 0 0
  • 什么時(shí)候適用面向?qū)ο螅?如果多個(gè)函數(shù)須傳入多個(gè)共同的參數(shù)時(shí) 根據(jù)一個(gè)模板創(chuàng)建某些東西 (ssh) 類的特殊成員 1...
    狗狗胖妞閱讀 240評(píng)論 0 0