软件介绍
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]