zookeeper安裝部署手冊(cè)
一晾嘶、下載
從官網(wǎng)下載最新穩(wěn)定版本廊散,目前最新穩(wěn)定版本為:3.6.0添诉。下載地址為:http://zookeeper.apache.org/releases.html扯旷。
二雄妥、單節(jié)點(diǎn)安裝
2.1蟹漓、將下載下的安裝文件解壓
tar -xvf apache-zookeeper-3.6.0-bin.tar.gz
2.2炕横、配置文件
2.2.1、復(fù)制配置文件并重命名
將解壓目錄下的conf/zoo_sample.cfg復(fù)制葡粒,重命名為zoo.cfg份殿,此處在conf文件下進(jìn)行
cp zoo_sample.cfg zoo.cfg
2.2.2、修改部分參數(shù)
編輯zoo.cfg,
vim zoo.cfg
最簡(jiǎn)參數(shù)配置如下所示:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/sct/tool/zookeeper/data
clientPort=2181
2.3嗽交、啟動(dòng)
進(jìn)入bin目錄卿嘲,執(zhí)行如下命令:
./zkServer.sh start
2.4、驗(yàn)證
進(jìn)入bin目錄夫壁,執(zhí)行如下命令:
./zkServer.sh status
若出現(xiàn)如下結(jié)果拾枣,則證明啟動(dòng)成功
ZooKeeper JMX enabled by default
Using config: /home/sct/tool/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: standalone
2.5、問題記錄
2.5.1掌唾、端口占用
端口占用有兩種情況:
1)本身的clientPort端口占用放前,修改配置文件中的clentPort值為沒有占用的端口即可。
2)zookeeper啟動(dòng)的時(shí)候糯彬,默認(rèn)會(huì)啟動(dòng)adminserver控制臺(tái)凭语,默認(rèn)端口為8080。如果被占用撩扒,可以更改端口號(hào)或禁用控制臺(tái)功能似扔。分別如下操作:
-
更改端口號(hào):
在zoo.cfg配置文件中添加:
admin.serverPort=2182
-
禁用adminserver控制臺(tái)
編輯zkServer.sh文件,修改內(nèi)容如下(兩個(gè)地方):
藍(lán)色框中的內(nèi)容為:
-Dzookeeper.admin.enableServer=false
重新啟動(dòng)即可搓谆。
三炒辉、集群安裝
此處假設(shè)在同一臺(tái)服務(wù)器上安裝,一般在生產(chǎn)環(huán)境泉手,為了高可用黔寇,都建議各節(jié)點(diǎn)安裝在不同服務(wù)器。
環(huán)境說明:
在192.168.10.2服務(wù)器安裝zookeeper集群斩萌,節(jié)點(diǎn)數(shù)為3個(gè)缝裤,客戶端端口分別為:3181屏轰,3182,3183
具體步驟如下:
3.1憋飞、配置文件
此處修改的配置文件有兩個(gè)地方
3.1.1霎苗、zoo.cfg配置文件
修改如下
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/sct/tool/zookeeper-cluster/zookeeper-1/data
clientPort=3181
server.0=192.168.10.2:2888:3888
server.1=192.168.10.2:2889:3889
server.2=192.168.10.2:2890:3890
備注:
各個(gè)節(jié)點(diǎn)的配置文件基本一致,此處只要修改clientPort的端口值及dataDir的目錄路徑即可榛做。
server.0=192.168.10.2:2888:3888
server.1=192.168.10.2:2889:3889
server.2=192.168.10.2:2890:3890
以上三個(gè)配置唁盏,是專為集群設(shè)置的。格式要求如下:
server.A=B:C:D
其中:
A:任意字符检眯,一般設(shè)置為數(shù)字厘擂。如果設(shè)置三個(gè)節(jié)點(diǎn),則A的值不可相同轰传,可依次為0驴党,1,2获茬。
B:代表節(jié)點(diǎn)所在的IP地址港庄,依據(jù)實(shí)際情況填寫。
C:代表Leader選舉的端口恕曲,此處可按需修改鹏氧,不沖突即可。
D:代表Zookeeper服務(wù)器之間的通信端口佩谣,此處可按需修改把还,不沖突即可。
3.1.2茸俭、myid配置文件
myid文件需要新建吊履,存放的位置是有要求的,要求放在于數(shù)據(jù)文件同級(jí)目錄下(可參考zoo.cfg中的dataDir值)调鬓,如針對(duì)節(jié)點(diǎn)1艇炎,則存放在:
/home/sct/tool/zookeeper-cluster/zookeeper-1/data 下。
3.2腾窝、啟動(dòng)
分別在各節(jié)點(diǎn)下啟動(dòng)zookeeper即可缀踪。啟動(dòng)命令如下:
進(jìn)入bin目錄,執(zhí)行如下命令:
./zkServer.sh start
剛開始啟動(dòng)第一個(gè)節(jié)點(diǎn)虹脯,日志報(bào)錯(cuò)驴娃,先不需要關(guān)注,因?yàn)檫@是集群模式循集,會(huì)監(jiān)聽其他節(jié)點(diǎn)唇敞,但是其他節(jié)點(diǎn)還沒有啟動(dòng),所以報(bào)錯(cuò)。我們把所有節(jié)點(diǎn)啟動(dòng)后厚棵,報(bào)錯(cuò)會(huì)消失蕉世。
3.3蔼紧、驗(yàn)證
進(jìn)入bin目錄婆硬,執(zhí)行如下命令:
./zkServer.sh status
如看到如下結(jié)果,則證明集群?jiǎn)?dòng)成功:
Using config: /home/sct/tool/zookeeper-cluster/zookeeper-1/bin/../conf/zoo.cfg
Client port found: 3181. Client address: localhost.
Mode: leader
此處我們可以看到奸例,此節(jié)點(diǎn)是leader節(jié)點(diǎn)彬犯。如果是follower節(jié)點(diǎn),則顯示如下:
Using config: /home/sct/tool/zookeeper-cluster/zookeeper-2/bin/../conf/zoo.cfg
Client port found: 3182. Client address: localhost.
Mode: follower
3.4查吊、說明
如果對(duì)集群進(jìn)行授權(quán)谐区,只要在同一節(jié)點(diǎn)下進(jìn)行授權(quán)即可,其他節(jié)點(diǎn)自動(dòng)同步逻卖。