Zookeeper集群搭建

三臺(tái)服務(wù)器分別是
192.1682.158
192.1682.152
192.1682.150
然后在三臺(tái)服務(wù)器分別安裝zookeeper

官網(wǎng)下載地址:http://mirrors.hust.edu.cn/apache/zookeeper/

wget http://mirrors.hust.edu.cn/apache/zookeeper/stable/zookeeper-3.4.12.tar.gz

解壓到user/local下

tar -zxvf zookeeper-3.4.12.tar.gz -C /usr/local
mv /usr/local/zookeeper-3.4.12 /usr/local/zookeeper

修改配置文件

cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
vim /usr/local/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data
clientPort=2181
server.1=192.168.2.158:2888:3888
server.2=192.168.2.152:2888:3888
server.3=192.168.2.150:2888:3888

創(chuàng)建數(shù)據(jù)存儲(chǔ)目錄

mkdir -p /usr/local/zookeeper/data

創(chuàng)建myid文件, id 與 zoo.cfg 中的序號(hào)對(duì)應(yīng)

#在192.168.2.158機(jī)器上執(zhí)行
echo 1 > /usr/local/zookeeper/data/zookeeper_server.pid
#在192.168.2.152機(jī)器上執(zhí)行
echo 2 > /usr/local/zookeeper/data/zookeeper_server.pid
#在192.168.2.150機(jī)器上執(zhí)行
echo 3 > /usr/local/zookeeper/data/zookeeper_server.pid

配置環(huán)境變量

vim /etc/profile

在最后加上

export ZK_HOME=/usr/local/zookeeper
export PATH=$ZK_HOME/bin:$PATH

分別啟動(dòng)

zkServer.sh start
image.png

查看狀態(tài)

zkServer.sh status
image.png

image.png

image.png

ZooKeeper角色


image.png

配置說明

參數(shù) 說明
tickTime 這個(gè)時(shí)間是作為Zookeeper服務(wù)器之間或者客戶端與服務(wù)器之間維持心跳的時(shí)間間隔眶明,也就是每個(gè)tickTime時(shí)間就會(huì)發(fā)送一下心跳醇滥。
initLimit 這個(gè)配置項(xiàng)是用來配置zookeeper接受客戶端的(這里所說的客戶端不是用戶連接Zookeeper服務(wù)器的客戶端而是Zookeeper服務(wù)器集群中連接到Leader的Follower服務(wù)器)初始化連接時(shí)最長(zhǎng)能忍受多少個(gè)心跳時(shí)間間隔數(shù)嗦董。當(dāng)已經(jīng)超過10個(gè)心跳的時(shí)間(也就是tickTime)長(zhǎng)度后Zookeeper服務(wù)器還沒有接到客戶端的返回信息峰尝,那么表明這個(gè)客戶端連接失敗狐援」北兀總時(shí)間長(zhǎng)度就是10*2000=20秒俱恶。
syncLimit 這個(gè)配置項(xiàng)標(biāo)示Leader與Follower之間發(fā)送消息雹嗦、請(qǐng)求和應(yīng)答時(shí)間長(zhǎng)度范舀,最長(zhǎng)不能超過多少個(gè)tickTime的時(shí)間長(zhǎng)度,總的時(shí)間長(zhǎng)度就是5*2000=10秒了罪。
dataDir Zookeeper保存數(shù)據(jù)的目錄锭环,默認(rèn)情況下,Zookeeper將數(shù)據(jù)的日志文件也保存在這里泊藕。
dataLogDir 短文本
clientPort 這個(gè)端口就是客戶端連接Zookeeper服務(wù)器的端口辅辩。Zookeeper會(huì)監(jiān)聽這個(gè)端口,接受客戶端的訪問請(qǐng)求娃圆。
server.A=B:C:D 其中A是一個(gè)數(shù)字玫锋,標(biāo)示這是第幾號(hào)服務(wù)器;B是這個(gè)服務(wù)器的ip地址踊餐;C標(biāo)示的是這個(gè)服務(wù)器與集群中的Leader服務(wù)器交換信息的端口景醇;D標(biāo)示的是萬一集群中Leader服務(wù)器掛了臀稚,需要一個(gè)端口來進(jìn)行選舉吝岭,選出一個(gè)新的Leader,而這個(gè)端口就是用來執(zhí)行選舉時(shí)服務(wù)器相互通信的端口吧寺。如果是偽集群的配置方式窜管,由于B都是一樣,所以不同的Zookeeper實(shí)例通信端口號(hào)不能一樣稚机,所以要給他們分配不同的端口號(hào)幕帆。
myid 集群模式下配置一個(gè)文件myid,這個(gè)文件在daraDir目錄下赖条,這個(gè)文件里面就有一個(gè)數(shù)據(jù)就是A的值失乾,Zookeeper啟動(dòng)時(shí)讀取此文件,拿到里面的數(shù)據(jù)與zoo.cfg里面的配置信息比較從而判斷到底是哪個(gè)server纬乍。
image.png

清理文件
注意:zookeeper不會(huì)主動(dòng)的清除舊的快照和日志文件
第一種:我們可以通過命令去定期的清理碱茁。

#!/bin/bash 
 
#snapshot file dir 
dataDir=/usr/local/zookeeper/data/version-2

#Leave 66 files 
count=66 
count=$[$count+1] 
ls -t $dataDir/snapshot.* | tail -n +$count | xargs rm -f 

#以上這個(gè)腳本定義了刪除對(duì)應(yīng)目錄中的文件,保留最新的66個(gè)文件仿贬,可以將他寫到crontab中纽竣,設(shè)置為每天凌晨2點(diǎn)執(zhí)行一次就可以了。

其他方法:

第二種:使用ZK的工具類PurgeTxnLog茧泪,它的實(shí)現(xiàn)了一種簡(jiǎn)單的歷史文件清理策略蜓氨,可以在這里看一下他的使用方法 http://zookeeper.apache.org/doc/r3.4.6/zookeeperAdmin.html

第三種:對(duì)于上面這個(gè)執(zhí)行,ZK自己已經(jīng)寫好了腳本队伟,在bin/zkCleanup.sh中穴吹,所以直接使用這個(gè)腳本也是可以執(zhí)行清理工作的。

第四種:從3.4.0開始嗜侮,zookeeper提供了自動(dòng)清理snapshot和事務(wù)日志的功能港令,通過配置 autopurge.snapRetainCount 和 autopurge.purgeInterval 這兩個(gè)參數(shù)能夠?qū)崿F(xiàn)定時(shí)清理了代嗤。這兩個(gè)參數(shù)都是在zoo.cfg中配置的:

autopurge.purgeInterval 這個(gè)參數(shù)指定了清理頻率,單位是小時(shí)缠借,需要填寫一個(gè)1或更大的整數(shù)干毅,默認(rèn)是0,表示不開啟自己清理功能泼返。
autopurge.snapRetainCount 這個(gè)參數(shù)和上面的參數(shù)搭配使用硝逢,這個(gè)參數(shù)指定了需要保留的文件數(shù)目。默認(rèn)是保留3個(gè)绅喉。

推薦使用第一種方法渠鸽,對(duì)于運(yùn)維人員來說,將日志清理工作獨(dú)立出來柴罐,便于統(tǒng)一管理也更可控徽缚。畢竟zk自帶的一些工具并不怎么給力。

幾個(gè)zNode節(jié)點(diǎn)操作的api簡(jiǎn)單介紹:

 create /parh data      創(chuàng)建一個(gè)名為/path的zNode節(jié)點(diǎn)革屠,并包含數(shù)據(jù)data

    delete /path          刪除名為/path的zNode節(jié)點(diǎn)

    exists /path           檢查是否存在名為/path的zNode節(jié)點(diǎn)

    setData /path data        設(shè)置名為/path的zNode的數(shù)據(jù)為data

    getData  /path         返回名為/path的zNode節(jié)點(diǎn)的數(shù)據(jù)信息

    getChildren /path      返回所有/path節(jié)點(diǎn)的所有子節(jié)點(diǎn)列表

zNode節(jié)點(diǎn)還有不同的類型凿试,持久(persistent)節(jié)點(diǎn)和臨時(shí)(ephemeral)節(jié)點(diǎn)。持久的zNode似芝,如/path那婉,只能通過調(diào)用delete來進(jìn)行刪除,而臨時(shí)的zNode則與之相反党瓮,當(dāng)創(chuàng)建該節(jié)點(diǎn)的客戶端崩潰或者關(guān)閉了與ZooKeeper服務(wù)器的連接時(shí)候详炬,這個(gè)臨時(shí)zNode節(jié)點(diǎn)就會(huì)被刪除了。其中臨時(shí)節(jié)點(diǎn)可用于實(shí)現(xiàn)分布式鎖寞奸。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末呛谜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子枪萄,更是在濱河造成了極大的恐慌隐岛,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呻引,死亡現(xiàn)場(chǎng)離奇詭異礼仗,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)逻悠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門元践,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人童谒,你說我怎么就攤上這事单旁。” “怎么了饥伊?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵象浑,是天一觀的道長(zhǎng)蔫饰。 經(jīng)常有香客問我,道長(zhǎng)愉豺,這世上最難降的妖魔是什么篓吁? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蚪拦,結(jié)果婚禮上杖剪,老公的妹妹穿的比我還像新娘。我一直安慰自己驰贷,他們只是感情好盛嘿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著括袒,像睡著了一般次兆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锹锰,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天芥炭,我揣著相機(jī)與錄音,去河邊找鬼城须。 笑死蚤认,一個(gè)胖子當(dāng)著我的面吹牛米苹,可吹牛的內(nèi)容都是我干的糕伐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蘸嘶,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼良瞧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起训唱,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤褥蚯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后况增,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赞庶,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年澳骤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了歧强。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡为肮,死狀恐怖摊册,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情颊艳,我是刑警寧澤茅特,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布忘分,位于F島的核電站,受9級(jí)特大地震影響白修,放射性物質(zhì)發(fā)生泄漏妒峦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一兵睛、第九天 我趴在偏房一處隱蔽的房頂上張望舟山。 院中可真熱鬧,春花似錦卤恳、人聲如沸累盗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽若债。三九已至,卻和暖如春拆融,著一層夾襖步出監(jiān)牢的瞬間蠢琳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工镜豹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留傲须,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓趟脂,卻偏偏與公主長(zhǎng)得像泰讽,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子昔期,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

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

  • 1.簡(jiǎn)介ZooKeeper是一個(gè)開源的分布式協(xié)調(diào)服務(wù)已卸,由雅虎創(chuàng)建,是Google Chubby的開源實(shí)現(xiàn)硼一。分布式應(yīng)...
    Anson前行閱讀 809評(píng)論 0 1
  • 1 Zookeeper概述# ZooKeeper是一個(gè)為分布式應(yīng)用所設(shè)計(jì)的分布的累澡、開源的協(xié)調(diào)服務(wù),它主要是用來解決...
    七寸知架構(gòu)閱讀 7,354評(píng)論 0 101
  • 你走了一個(gè)寒冬來這里賞花般贼, 花期已過愧哟。 你,不必嘆息哼蛆。 你背著行囊去遠(yuǎn)方追逐夢(mèng)想蕊梧, 似夢(mèng)非夢(mèng)。 你人芽,不...
    稚兮閱讀 363評(píng)論 0 0
  • 柴米油鹽醬醋茶望几,琴棋書畫詩(shī)酒花
    52赫茲_4770閱讀 191評(píng)論 0 2
  • 0211-玲兒-涵涵媽[萱花椿樹]學(xué)習(xí)力7期20171017-D7:今天古詩(shī)環(huán)節(jié),寶寶著急玩他的跳舞毯萤厅,就我一個(gè)人...
    玲兒_6848閱讀 192評(píng)論 0 0