華為云計(jì)算 云知識(shí) ZooKeeper如何配置
ZooKeeper如何配置

簡(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]