ZooKeeper詳解1.安裝及使用

一年又一年,字節(jié)跳動(dòng) Lark(飛書(shū)) 研發(fā)團(tuán)隊(duì)又雙叒叕開(kāi)始招新生啦!
【內(nèi)推碼】:GTPUVBA
【內(nèi)推鏈接】:https://job.toutiao.com/s/JRupWVj
【招生對(duì)象】:20年9月后~21年8月前 畢業(yè)的同學(xué)
【報(bào)名時(shí)間】:6.16-7.16(提前批簡(jiǎn)歷投遞只有一個(gè)月抓住機(jī)會(huì)哦>氪骸)
【畫(huà)重點(diǎn)】:提前批和正式秋招不矛盾!面試成功,提前鎖定Offer谭胚;若有失利哮翘,額外獲得一次面試機(jī)會(huì)颈嚼,正式秋招開(kāi)啟后還可再次投遞。

1 ZooKeeper簡(jiǎn)介

ZooKeeper是一個(gè)開(kāi)源分布式應(yīng)用程序協(xié)調(diào)服務(wù)饭寺,最初是作為Hadoop的一個(gè)副產(chǎn)品阻课,但現(xiàn)在已經(jīng)成為分布式應(yīng)用的一個(gè)重要組件,像Hadoop艰匙、Dubbo限煞、Kafka都是基于ZooKeeper構(gòu)建的。
官方文檔
ZooKeeper 3.4 Documentation

2 ZooKeeper安裝

Mac安裝

brew install zookeeper

啟動(dòng)和關(guān)閉

ZooKeeper提供了zkServer來(lái)管理ZooKeeper员凝,默認(rèn)使用/usr/local/etc/zookeeper/zoo.cfg配置文件中的配置來(lái)啟動(dòng)署驻,主要命令如下:

  • 啟動(dòng):zkServer start [配置文件]
  • 關(guān)閉:zkServer stop [配置文件]
  • 重啟:zkServer restart [配置文件]
  • 查看狀態(tài):zkServer status [配置文件]
# 其他命令如下
Using config: /usr/local/etc/zookeeper/zoo.cfg
Usage: ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}
配置文件詳解

ZooKeeper 配置文件(zoo.cfg)詳解

# 心跳時(shí)間
# Leader與Follower之間發(fā)送消息時(shí),請(qǐng)求和應(yīng)答時(shí)間長(zhǎng)度健霹。
tickTime=2000
# Follower與Leader初始連接時(shí)能容忍的最多心跳數(shù)
initLimit=10
# Follower與Leader請(qǐng)求和答應(yīng)最多能容忍的心跳數(shù)   
syncLimit=5
# 存放myid旺上、版本、日志等信息
dataDir=/usr/local/var/run/zookeeper/data
# 客戶端連接的端口
clientPort=2181
# 最大連接數(shù)
# maxClientCnxns=60

# 指定了需要保留的文件數(shù)目糖埋。默認(rèn)是保留3個(gè)宣吱。
# autopurge.snapRetainCount=3

# 3.4.0及之后版本,ZK提供了自動(dòng)清理事務(wù)日志和快照文件的功能
# 這個(gè)參數(shù)指定了清理頻率瞳别,單位是小時(shí)征候,需要配置一個(gè)1或更大的整數(shù),默認(rèn)是0祟敛,表示不開(kāi)啟自動(dòng)清理功能倍奢。
# autopurge.purgeInterval=1

3 ZooKeeper集群搭建

修改配置文件
  1. 在zoo.cfg的目錄下增加3個(gè)配置文件,分別命名為cluster_zoo1.cfg垒棋、cluster_zoo2.cfg卒煞、cluster_zoo3.cfg(隨便起名字也可以)。
  2. 編輯配置文件叼架,分別修改其端口和dataDir畔裕,保證三個(gè)文件使用不同的端口和dataDir目錄。
  3. 增加集群配置乖订。
# cluster_zoo1.cfg配置文件內(nèi)容
dataDir=/usr/local/var/run/zookeeper/cluster_data_1
clientPort=2182
# server.A=B:C:D
# A:其中 A 是一個(gè)數(shù)字扮饶,表示這個(gè)是服務(wù)器的編號(hào);
# B:是這個(gè)服務(wù)器的 ip 地址乍构;
# C:Leader選舉的端口甜无;
# D:Zookeeper服務(wù)器之間的通信端口。
server.1=localhost:2881:3881
server.2=localhost:2882:3882
server.3=localhost:2883:3883
# cluster_zoo1.cfg配置文件內(nèi)容
dataDir=/usr/local/var/run/zookeeper/cluster_data_2
clientPort=2183
# server.A=B:C:D
# A:其中 A 是一個(gè)數(shù)字,表示這個(gè)是服務(wù)器的編號(hào)岂丘;
# B:是這個(gè)服務(wù)器的 ip 地址陵究;
# C:Leader選舉的端口;
# D:Zookeeper服務(wù)器之間的通信端口奥帘。
server.1=localhost:2881:3881
server.2=localhost:2882:3882
server.3=localhost:2883:3883
# cluster_zoo3.cfg配置文件內(nèi)容
dataDir=/usr/local/var/run/zookeeper/cluster_data_3
clientPort=2184
# server.A=B:C:D
# A:其中 A 是一個(gè)數(shù)字铜邮,表示這個(gè)是服務(wù)器的編號(hào);
# B:是這個(gè)服務(wù)器的 ip 地址寨蹋;
# C:Leader選舉的端口松蒜;
# D:Zookeeper服務(wù)器之間的通信端口。
server.1=localhost:2881:3881
server.2=localhost:2882:3882
server.3=localhost:2883:3883
配置myid的文件

myid文件配置在dataDir的目錄下已旧,該文件里面只有一個(gè)數(shù)據(jù)就是server.A=B:C:D中A的值秸苗,ZooKeeper啟動(dòng)時(shí)會(huì)讀取這個(gè)文件,拿到里面的數(shù)據(jù)與zoo.cfg里面的配置信息比較從而判斷到底是那個(gè)server运褪。

/usr/local/var/run/zookeeper > echo 1 > cluster_data_1/myid
/usr/local/var/run/zookeeper > echo 2 > cluster_data_2/myid
/usr/local/var/run/zookeeper > echo 3 > cluster_data_3/myid
使用三個(gè)配置文件分別啟動(dòng)
/usr/local/etc/zookeeper > zkServer start cluster_zoo1.cfg
/usr/local/etc/zookeeper > zkServer start cluster_zoo2.cfg
/usr/local/etc/zookeeper > zkServer start cluster_zoo3.cfg
查看集群狀態(tài)
# 節(jié)點(diǎn)1
/usr/local/etc/zookeeper   master > zkServer status cluster_zoo1.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/cluster_zoo1.cfg
Mode: follower
# 節(jié)點(diǎn)2
/usr/local/etc/zookeeper   master > zkServer status cluster_zoo2.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/cluster_zoo2.cfg
Mode: leader
# 節(jié)點(diǎn)3
/usr/local/etc/zookeeper   master > zkServer status cluster_zoo3.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/cluster_zoo3.cfg
Mode: follower
連接集群
/usr/local/etc/zookeeper > zkCli -server localhost:2182,localhost:2183,localhost:214
Connecting to localhost:2182,localhost:2183,localhost:214
Welcome to ZooKeeper!
JLine support is enabled
[zk: localhost:2182,localhost:2183,localhost:214(CONNECTING) 0]
WATCHER::

WatchedEvent state:SyncConnected type:None path:null
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末难述,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子吐句,更是在濱河造成了極大的恐慌胁后,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗦枢,死亡現(xiàn)場(chǎng)離奇詭異攀芯,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)文虏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)侣诺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人氧秘,你說(shuō)我怎么就攤上這事年鸳。” “怎么了丸相?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵搔确,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我灭忠,道長(zhǎng)膳算,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任弛作,我火速辦了婚禮涕蜂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘映琳。我一直安慰自己机隙,他們只是感情好蜘拉,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著有鹿,像睡著了一般旭旭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上印颤,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天您机,我揣著相機(jī)與錄音穿肄,去河邊找鬼年局。 笑死,一個(gè)胖子當(dāng)著我的面吹牛咸产,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼马胧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼席纽!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起屑彻,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤验庙,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后社牲,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體粪薛,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年搏恤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了违寿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡熟空,死狀恐怖藤巢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情息罗,我是刑警寧澤掂咒,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站迈喉,受9級(jí)特大地震影響俏扩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜弊添,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一录淡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧油坝,春花似錦嫉戚、人聲如沸刨裆。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)帆啃。三九已至,卻和暖如春窍帝,著一層夾襖步出監(jiān)牢的瞬間努潘,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工坤学, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疯坤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓深浮,卻偏偏與公主長(zhǎng)得像压怠,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子飞苇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

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