軟件介紹
ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。
支持的ARM體系結構
ZooKeeper可支持ARMv8體系結構。
華為鯤鵬生態基於ARMv8體系結構,因此ZooKeeper可以支持在華為雲鯤鵬 ECS實例上運行。
支持的操作系統
經過華為雲嚴格實測,以下操作系統在鯤鵬生態中可以完整運行ZooKeeper的全部功能:
l CentOS7.5
l EulerOS2.8
支持版本和獲取方式
建議使用3.4.x版本
安裝和部署
本文選用華為鯤鵬雲服務ECS KC1實例做測試,KC1實例的處理器為兼容ARMv8指令集的鯤鵬920,詳細規格見下:
類別 | 子項 | 版本 |
---|---|---|
雲主機配置 | ECS實例類型 | kc1.xlarge.4 |
ECS配置 | 4U16GB | |
EVS | 高IO(100GB) | |
雲OS | Euler OS | 2.8 |
Kernel | 4.19.36 |
1.運行環境配置和必要條件准備
Java版本需要在1.8.0及上版本。
您可以通過執行下面命令,安裝java 1.8.0。
yum install java-1.8.0-openjdk
2.軟件的安裝步驟
本文采用zookeeper-3.4.14版本為例,采用直接下載軟件包方式安裝ZooKeeper。
執行如下命令,創建目錄/opt/zookeeper。
mkdir /opt/zookeeper
1)執行如下命令,進入目錄/opt/zookeeper。
cd /opt/zookeeper
2)執行如下命令,下載軟件包。
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
3)執行如下命令,解壓軟件包。
tar -zxvf zookeeper-3.4.14.tar.gz
4)執行如下命令,進入目錄zookeeper-3.4.14。
cd zookeeper-3.4.14
5)執行如下命令,創建日志存放目錄。
mkdir dataDir
6)執行如下命令,進入conf目錄。
cd conf
7)執行如下命令,備份zoo_sample.cfg文件。
cp zoo_sample.cfg zoo.cfg
8)執行如下命令,編輯zoo.cfg文件。
vim zoo.cfg
9)配置文件修改以下內容:
10) 按“Esc”鍵。
-
輸入“wq!”保存退出。
-
設置ZooKeeper開機啟動。
a. 依次執行如下命令,進入到/etc/rc.d/init.d目錄下,新建一個zookeeper腳本。
cd /etc/rc.d/init.d/
touch zookeeper
chmod +x zookeeper
b. 執行如下命令,編輯zookeeper文件。
vim zookeeper
c. vim編譯zookeeper腳本文件,在文件中輸入如下內容:
#!/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. 執行如下命令,開啟開機啟動。
chkconfig zookeeper on
3.軟件的運行啟動
執行如下命令,啟動ZooKeeper。
service zookeeper start
關閉ZooKeeper命令:
service zookeeper stop
測試已完成編譯的軟件
1.執行如下命令,啟動zkcli工具連接zookeeper。
cd /opt/zookeeper/zookeeper-3.4.14/bin
./zkCli.sh
當回顯如下內容是,表示連接成功。
2.執行如下命令,查看當前zookeeper中所包含的內容。
ls /
系統回顯類似如下信息:
[zookeeper]
3.執行如下命令,創建一個新的znode。
create /huawei x86
系統回顯如下信息,表示創建成功。
Created /huawei
4.執行如下命令,再次查看zookeeper所包含的內容。
ls /
系統回顯如下信息:
[huawei, zookeeper]
5.執行如下命令,查看新建znode的信息。
get /huawei
系統回顯如下信息:
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.執行如下命令,修改znode的內容:將“x86”修改為“arm”。
set /huawei 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
7.執行如下命令,查看修改后的znode。
get /huawei
系統回顯如下:
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.執行如下命令,刪除znode。
delete /huawei
9.執行如下命令,查看此時zookeeper所包含的內容。
ls /
系統回顯信息如下。
[zookeeper]