【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
作者:ShadowFiend
出处:http://www.cnblogs.com/ShadowFiend/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题或建议,请多多赐教,非常感谢。