【Zookeeper】分布式环境搭建

环境说明

本文以三台机器为例,分别为bigdata111,bigdata112,bigdata113三台机器,先部署bigdata111机器,然后通过scp分发配置方式配置其他两台机器;

安装步骤

上传gz包

利用rz命令,上传zookeeper的gz包到/opt/soft/文件夹下。

[root@bigdata111 soft]# rz
[root@bigdata111 soft]# ls
hadoop-2.8.4.tar.gz  jdk-8u144-linux-x64.tar.gz  zookeeper-3.4.10.tar.gz

解压gz包

通过tar命令解压zookeeper到/opt/module/目录下。

[root@bigdata111 soft]# tar -zvxf zookeeper-3.4.10.tar.gz -C /opt/module/
[root@bigdata111 soft]# cd /opt/module/
[root@bigdata111 module]# ls
hadoop-2.8.4  jdk1.8.0_144  zookeeper-3.4.10

新建zkData目录

在zookeeper的解压目录下新建zkData文件夹,用于数据文件目录+数据持久化路径。

[root@bigdata111 module]# cd zookeeper-3.4.10/
[root@bigdata111 zookeeper-3.4.10]# mkdir zkData
[root@bigdata111 zookeeper-3.4.10]# ls
bin  build.xml  conf  contrib  dist-maven  docs  ivysettings.xml  ivy.xml  lib  LICENSE.txt  NOTICE.txt  README_packaging.txt  README.txt  recipes  src  zkData  zookeeper-3.4.10.jar  zookeeper-3.4.10.jar.asc  zookeeper-3.4.10.jar.md5  zookeeper-3.4.10.jar.sha1

修改默认文件名

切换至zookeeper的conf目录下,修改zoo_sample.cfg为默认识别的zoo.cfg配置文件。

[root@bigdata111 module]# cd zookeeper-3.4.10/conf
[root@bigdata111 conf]# ll
总用量 12
-rw-rw-r--. 1 1001 1001  535 3月  23 2017 configuration.xsl
-rw-rw-r--. 1 1001 1001 2161 3月  23 2017 log4j.properties
-rw-rw-r--. 1 1001 1001  922 3月  23 2017 zoo_sample.cfg
[root@bigdata111 conf]# mv zoo_sample.cfg zoo.cfg
[root@bigdata111 conf]# ll
总用量 12
-rw-rw-r--. 1 1001 1001  535 3月  23 2017 configuration.xsl
-rw-rw-r--. 1 1001 1001 2161 3月  23 2017 log4j.properties
-rw-rw-r--. 1 1001 1001  922 3月  23 2017 zoo.cfg

配置修改

配置zookeeper的zoo.cfg文件,保存并退出。

[root@bigdata111 conf]# vi zoo.cfg

将其中的dataDir值修改如下:

dataDir=/opt//module/zookeeper-3.4.10/zkData

并在末尾增加如下配置(bigdata111-113为主机名,可以修改为自己的hostname):

#######################cluster##########################
server.1=bigdata111:2888:3888
server.2=bigdata112:2888:3888
server.3=bigdata113:2888:3888

配置环境变量

执行vi命令,编辑配置

[root@bigdata111 conf]# vi /etc/profile

在/etc/profile文件内容末尾添加如下内容,配置完毕,保存退出。

export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin

刷新profile配置文件

[root@bigdata111 zookeeper-3.4.10]# source /etc/profile

创建myid文件

在/opt/module/zookeeper-3.4.10/zkData下创建一个myid文件,内容为:1;

[root@bigdata111 zkData]# cd /opt/module/zookeeper-3.4.10/zkData/
[root@bigdata111 zkData]# ls
[root@bigdata111 zkData]# touch myid
[root@bigdata111 zkData]# vi myid

配置集群

配置其他两台机器bigdata112,bigdata113;

发送zookeeper目录

通过scp命令发送bigdata111上配置好的zookeeper目录到其他两台机器。

[root@bigdata111 zkData]# scp -r /opt/module/zookeeper-3.4.10/ root@bigdata112:/opt/module/
[root@bigdata111 zkData]# scp -r /opt/module/zookeeper-3.4.10/ root@bigdata113:/opt/module/
发送环境变量文件

通过scp命令发送bigdata111的环境变量配置文件到其他两台机器。

[root@bigdata111 zkData]# scp -r /etc/profile root@bigdata112:/etc/
[root@bigdata111 zkData]# scp -r /etc/profile root@bigdata113:/etc/
刷新环境变量

通过source命令刷新另外两台机器的环境文件。

bigdata112机器:

[root@bigdata112 zkData]# source /etc/profile

bigdata113机器:

[root@bigdata113 zkData]# source /etc/profile
修改myid文件

修改另外两台的/opt/module/zookeeper-3.4.10/zkData/myid文件;

修改bigdata112的myid为:2

[root@bigdata112 zkData]# vi myid
[root@bigdata112 zkData]# cat myid
2

修改bigdata113的myid为:3

[root@bigdata113 zkData]# vi myid
[root@bigdata113 zkData]# cat myid
3

启动ZK服务端

利用xshell的“发送键输入到所有会话”功能,启动zk服务并查看状态;

bigdata111:

[root@bigdata111 zkData]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@bigdata111 zkData]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower

bigdata112:

[root@bigdata112 zkData]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@bigdata112 zkData]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower

bigdata113:

[root@bigdata113 zkData]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@bigdata113 zkData]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: leader

启动ZK客户端

利用xshell的“发送键输入到所有会话”功能,启动zk客户端并打印节点;

仅列出bigdata111信息:

[root@bigdata111 zkData]# zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 1] get /zookeeper

cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1

退出zk客户端

利用quit命令退出

[zk: localhost:2181(CONNECTED) 2] quit
Quitting...
2019-09-01 19:48:15,333 [myid:] - INFO  [main:ZooKeeper@684] - Session: 0x16cec7e34490000 closed
2019-09-01 19:48:15,337 [myid:] - INFO  [main-EventThread:ClientCnxn$EventThread@519] - EventThread shut down for session: 0x16cec7e34490000

停止ZK服务

利用stop停止服务

[root@bigdata111 zkData]# zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
posted @ 2019-09-02 23:08  ShadowFiend  阅读(400)  评论(0编辑  收藏  举报