zk集群搭建

下載就不說(shuō)了,官網(wǎng)直接下載對(duì)應(yīng)的版本解壓

這邊演示的是阿里云服務(wù)器,不是虛擬機(jī)


我的目錄結(jié)構(gòu)是這樣的

drwxr-xr-x 2  502 games  4096 4月  28 16:07 bin
drwxr-xr-x 2  502 games  4096 8月   6 18:25 conf
drwxr-xr-x 3 root root   4096 5月   6 15:45 dataDir (新建,存放zk數(shù)據(jù))
drwxr-xr-x 3 root root   4096 4月  22 09:47 dataLogDir (新建,存放數(shù)據(jù)日志)
drwxr-xr-x 5  502 games  4096 2月  10 19:29 docs
drwxr-xr-x 2 root root   4096 4月  21 17:30 lib
-rw-r--r-- 1  502 games 11358 9月  13 2018 LICENSE.txt
drwxr-xr-x 2 root root   4096 4月  22 09:47 logs (新建,存放日志文件)
-rw-r--r-- 1  502 games   432 2月  10 18:00 NOTICE.txt
-rw-r--r-- 1  502 games  1560 2月   7 21:54 README.md
-rw-r--r-- 1  502 games  1347 2月   7 21:54 README_packaging.txt
  • 然后幾個(gè)地方需要注意修改的
  1. 在根目錄下,創(chuàng)建一個(gè)dataLogDir(需要在conf配置中指定位置)目錄用于存放數(shù)據(jù),
    創(chuàng)建一個(gè)logs目錄用于存放日志文件
    創(chuàng)建dataLogDir 保存數(shù)據(jù)日志
mkdir dataDir
mkdir logs
mkdir dataLogDir
-----------------
drwxr-xr-x 3 root root   4096 5月   6 15:45 dataDir
drwxr-xr-x 3 root root   4096 4月  22 09:47 dataLogDir
drwxr-xr-x 3 root root   4096 4月  22 09:47 logs
  1. 在dataDir目錄下創(chuàng)建一個(gè)myid文件用于記錄該zookeeper在集群中的id(保證唯一就行)
    在其他服務(wù)器一次執(zhí)行同樣的步驟,比如A服務(wù)器myid指定為1,B服務(wù)器myid指定為2....
vim dataDir/myid
## 內(nèi)容
1

#集群模式下配置一個(gè)文件myid奠宜,這個(gè)文件在daraDir目錄下,
#這個(gè)文件里面就有配置的值压真,Zookeeper啟動(dòng)時(shí)讀取此文件
#拿到里面的數(shù)據(jù)與zoo.cfg里面的配置信息比較從而判斷到底是哪個(gè)server。
  1. 進(jìn)入config目錄---是這樣的
-rw-r--r-- 1  502 games  535 5月   4 2018 configuration.xsl
-rw-r--r-- 1  502 games 2712 2月   7 21:54 log4j.properties
-rw-r--r-- 1  502 games  922 2月   7 21:54 zoo_sample.cfg
  1. 復(fù)制一份zoo_sample.cfg 官方也是建議復(fù)制一份,不要在事例配置文件修改
# 復(fù)制一份示例配置文件
cp ./zoo_sample.cfg conf/zoo.cfg
# 編輯 zoo.cfg
vim conf/zoo.cfg
  1. 進(jìn)行編輯,可以先用默認(rèn)配置,在末尾加入以下配置,
    在其他服務(wù)器加上同樣的配置,但是myid需要更改保證每臺(tái)服務(wù)器唯一就行,和Ip對(duì)應(yīng)
    server后面的數(shù)字唯一標(biāo)識(shí)是哪臺(tái)服務(wù)器,便于尋找服務(wù)
    ip對(duì)應(yīng)服務(wù)器ip,后面的數(shù)字簡(jiǎn)單點(diǎn)解釋:2888是集群內(nèi)部通信的端口和3888是選舉端口
server.1=ip:2888:3888
server.2=ip:2888:3888
server.3=ip:2888:3888

下面是conf中的配置


# The number of milliseconds of each tick
#這個(gè)時(shí)間是作為Zookeeper服務(wù)器之間或者客戶端與服務(wù)器之間維持心跳的時(shí)間間隔岳悟,也就是每個(gè)tickTime時(shí)間就會(huì)發(fā)送一下心跳泼差。
tickTime=2000

# The number of ticks that the initial
# synchronization phase can take
#這個(gè)配置項(xiàng)是用來(lái)配置zookeeper接受客戶端的(這里所說(shuō)的客戶端不是用戶連接Zookeeper服務(wù)器的
#客戶端而是Zookeeper服務(wù)器集群中連接到Leader的Follower服務(wù)器)初始化連接時(shí)最長(zhǎng)能忍受多少個(gè)心跳時(shí)間間隔數(shù)。
#當(dāng)已經(jīng)超過(guò)10個(gè)心跳的時(shí)間(也就是tickTime)長(zhǎng)度后Zookeeper服務(wù)器還沒有接到客戶端的返回信息
#那么表明這個(gè)客戶端連接失敗滔灶『鸱剩總時(shí)間長(zhǎng)度就是10*2000=20秒。
initLimit=10

# The number of ticks that can pass between
# sending a request and getting an acknowledgement
#這個(gè)配置項(xiàng)標(biāo)示Leader與Follower之間發(fā)送消息缀皱、請(qǐng)求和應(yīng)答時(shí)間長(zhǎng)度,
#最長(zhǎng)不能超過(guò)多少個(gè)tickTime的時(shí)間長(zhǎng)度涝影,總的時(shí)間長(zhǎng)度就是5*2000=10秒争占。
syncLimit=5

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
#Zookeeper保存數(shù)據(jù)的目錄序目,默認(rèn)情況下臂痕,Zookeeper將數(shù)據(jù)的日志文件也保存在這里猿涨。
#這個(gè)改成自己知道的目錄
dataDir=/usr/dev-environment/zk/dataDir
#短文本 這個(gè)路徑需要新建的 
dataLogDir=/usr/dev-environment/zk/dataLogDir

# the port at which the clients will connect
#這個(gè)端口就是客戶端連接Zookeeper服務(wù)器的端口。Zookeeper會(huì)監(jiān)聽這個(gè)端口澡绩,接受客戶端的訪問請(qǐng)求。
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60

#autopurge.purgeInterval=1
#四字命令白名單
4lw.commands.whitelist=*

# server.A=ip:2888:3888
#集群需要配置的ip,'xxxxxip'改成真實(shí)的服務(wù)器Ip,后面的
#其中A是一個(gè)數(shù)字肥卡,標(biāo)示這是第幾號(hào)服務(wù)器;
#ip是這個(gè)服務(wù)器的ip地址揪胃;
#2888標(biāo)示的是這個(gè)服務(wù)器與集群中的Leader服務(wù)器交換信息的端口(可以自定義)氛琢;
#3888標(biāo)示的是萬(wàn)一集群中Leader服務(wù)器掛了,需要一個(gè)端口來(lái)進(jìn)行選舉(可以自定義)阳似,
#選出一個(gè)新的Leader,而這個(gè)端口就是用來(lái)執(zhí)行選舉時(shí)服務(wù)器相互通信的端口撮奏。
#如果是偽集群的配置方式,由于B都是一樣藐石,所以不同的Zookeeper實(shí)例通信端口號(hào)不能一樣定拟,所以要給他們分配不同的端口號(hào)。

#我是這樣配置的
server.1=ip:2888:3888
server.2=ip:2888:3888
server.3=ip:2888:3888

#支持外網(wǎng)訪問互通(內(nèi)網(wǎng)打通不用管)
quorumListenOnAllIPs=true
  • 進(jìn)入bin目錄分別在不同服務(wù)器啟動(dòng)服務(wù)
[root@cheng bin]# zkServer.sh restart
ZooKeeper JMX enabled by default
Using config: /usr/dev-environment/zk/bin/../conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /usr/dev-environment/zk/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
ZooKeeper JMX enabled by default
Using config: /usr/dev-environment/zk/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
zkServer.sh start 啟動(dòng)zk服務(wù)
zkServer.sh stop 停止zk服務(wù)
zkServer.sh restart 重啟zk服務(wù)
zkServer.sh status 查看zk服務(wù)狀態(tài)

通過(guò)status查看狀態(tài)可以看到選舉狀態(tài)

[root@VM_0_6_centos bin]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/dev-environment/zk/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower(啟動(dòng)成功,選舉為從節(jié)點(diǎn))

另一臺(tái)服務(wù)器

[root@cheng bin]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/dev-environment/zk/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader (啟動(dòng)成功,選舉為主節(jié)點(diǎn))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末株依,一起剝皮案震驚了整個(gè)濱河市延窜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌荠藤,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哈肖,死亡現(xiàn)場(chǎng)離奇詭異念秧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門游两,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)漩绵,“玉大人,你說(shuō)我怎么就攤上這事轰坊。” “怎么了肴沫?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵蕴忆,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我套鹅,道長(zhǎng),這世上最難降的妖魔是什么菱魔? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任吟孙,我火速辦了婚禮,結(jié)果婚禮上杰妓,老公的妹妹穿的比我還像新娘。我一直安慰自己桩卵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布雏节。 她就那樣靜靜地躺著高职,像睡著了一般。 火紅的嫁衣襯著肌膚如雪初厚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天排作,我揣著相機(jī)與錄音亚情,去河邊找鬼。 笑死楞件,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的土浸。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼泪酱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼还最!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起拓轻,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎勿锅,沒想到半個(gè)月后辜梳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡作瞄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年宗挥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片契耿。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖透敌,靈堂內(nèi)的尸體忽然破棺而出盯滚,到底是詐尸還是另有隱情酗电,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布背率,位于F島的核電站嫩与,受9級(jí)特大地震影響寝姿,放射性物質(zhì)發(fā)生泄漏划滋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一翻翩、第九天 我趴在偏房一處隱蔽的房頂上張望稻薇。 院中可真熱鬧嫂冻,春花似錦塞椎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)吹零。三九已至,卻和暖如春灿椅,著一層夾襖步出監(jiān)牢的瞬間钞支,已是汗流浹背茫蛹。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工婴洼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人柬采。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像警没,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子杀迹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351