鲲鹏社区 软件 zookeeper
ZooKeeper
分布式应用程序协调软件
开发语言:JAVA

软件介绍

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是GoogleChubby一个开源的实现,是HadoopHbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

支持的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”键。

11)   输入“wq!”保存退出。

12)   设置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]

软件下载

源码下载立即下载