簡(jiǎn)介
ZooKeeper是一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。
配置安裝流程
1.運(yùn)行環(huán)境配置和必要條件準(zhǔn)備
Java版本需要在1.8.0及上版本。
您可以通過(guò)執(zhí)行下面命令,安裝java 1.8.0。
yum install java-1.8.0-openjdk
2.軟件的安裝步驟
本文采用zookeeper-3.4.14版本為例,采用直接下載軟件包方式安裝ZooKeeper。
執(zhí)行如下命令,創(chuàng)建目錄/opt/zookeeper。
mkdir /opt/zookeeper
1)執(zhí)行如下命令,進(jìn)入目錄/opt/zookeeper。
cd /opt/zookeeper
2)執(zhí)行如下命令,下載軟件包。
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
3)執(zhí)行如下命令,解壓軟件包。
tar -zxvf zookeeper-3.4.14.tar.gz
4)執(zhí)行如下命令,進(jìn)入目錄zookeeper-3.4.14。
cd zookeeper-3.4.14
5)執(zhí)行如下命令,創(chuàng)建日志存放目錄。
mkdir dataDir
6)執(zhí)行如下命令,進(jìn)入conf目錄。
cd conf
7)執(zhí)行如下命令,備份zoo_sample.cfg文件。
cp zoo_sample.cfg zoo.cfg
8)執(zhí)行如下命令,編輯zoo.cfg文件。
vim zoo.cfg
9)配置文件修改以下內(nèi)容:

10)按“Esc”鍵。
11)輸入“wq!”保存退出。
12設(shè)置ZooKeeper開(kāi)機(jī)啟動(dòng)。
a.依次執(zhí)行如下命令,進(jìn)入到/etc/rc.d/init.d目錄下,新建一個(gè)zookeeper腳本。
cd /etc/rc.d/init.d/
touch zookeeper
chmod +x zookeeper
b.執(zhí)行如下命令,編輯zookeeper文件。
vim zookeeper
c.vim編譯zookeeper腳本文件,在文件中輸入如下內(nèi)容:
#!/bin/bash
#chkconfig:2345 10 90
#description:service zookeeper
export ZOO_LOG_DIR=/data/zookeeper/logs
ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.14/
case "$1" in
start) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh start;;
start-foreground) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh start-foreground;;
stop) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh stop;;
status) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh status;;
restart) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh restart;;
upgrade)su root ${ZOOKEEPER_HOME}/bin/zkServer.sh upgrade;;
print-cmd)su root ${ZOOKEEPER_HOME}/bin/zkServer.sh print-cmd;;
*) echo "requirestart|start-foreground|stop|status|restart|print-cmd";;
esac
d.執(zhí)行如下命令,開(kāi)啟開(kāi)機(jī)啟動(dòng)。
chkconfig zookeeper on
3.軟件的運(yùn)行啟動(dòng)
執(zhí)行如下命令,啟動(dòng)ZooKeeper。
service zookeeper start
關(guān)閉ZooKeeper命令:service zookeeper stop
測(cè)試已完成編譯的軟件
1.執(zhí)行如下命令,啟動(dòng)zkcli工具連接zookeeper。
cd /opt/zookeeper/zookeeper-3.4.14/bin
./zkCli.sh
當(dāng)回顯如下內(nèi)容是,表示連接成功。

2.執(zhí)行如下命令,查看當(dāng)前zookeeper中所包含的內(nèi)容。
ls /
系統(tǒng)回顯類似如下信息:
[zookeeper]
3.執(zhí)行如下命令,創(chuàng)建一個(gè)新的znode。
create /huawei x86
系統(tǒng)回顯如下信息,表示創(chuàng)建成功。
Created /huawei
4.執(zhí)行如下命令,再次查看zookeeper所包含的內(nèi)容。
ls /
系統(tǒng)回顯如下信息:
[huawei, zookeeper]
5.執(zhí)行如下命令,查看新建znode的信息。
get /huawei
系統(tǒng)回顯如下信息:
x86
cZxid = 0x6
ctime = Thu Jun 20 21:43:29 CST 2019
mZxid = 0x6
mtime = Thu Jun 20 21:43:29 CST 2019
pZxid = 0x6
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
6.執(zhí)行如下命令,修改znode的內(nèi)容:將“x86”修改為“arm”。
set /huawei arm
系統(tǒng)回顯如下信息,表示修改成功。
cZxid = 0x6
ctime = Thu Jun 20 21:43:29 CST 2019
mZxid = 0x8
mtime = Thu Jun 20 21:45:52 CST 2019
pZxid = 0x6
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
7.執(zhí)行如下命令,查看修改后的znode。
get /huawei
系統(tǒng)回顯如下:
arm
cZxid = 0x6
ctime = Thu Jun 20 21:43:29 CST 2019
mZxid = 0x8
mtime = Thu Jun 20 21:45:52 CST 2019
pZxid = 0x6
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
8.執(zhí)行如下命令,刪除znode。
delete /huawei
9.執(zhí)行如下命令,查看此時(shí)zookeeper所包含的內(nèi)容。
ls /
系統(tǒng)回顯信息如下。
[zookeeper]