Zookeeper是用来进行分布式服务的协调,,集群也是一个主从集群,它一般是由一个Leader(领导者)和多个Follower(跟随者)组成。
1.下载安装包
2.上传安装包
3.解压安装包,移动到指定位置
解压:
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz
移动到指定位置:
mv apache-zookeeper-3.5.9-bin.tar.gz /export/software/
修改名字:
mv apache-zookeeper-3.5.9-bin zookeeper-3.5.9
4.Zookeeper的相关配置
(1)配置zoo.cfg文件(进入到zookeeper目录下:bin里面是一些启动的命令,要在conf里面配置,lib可用的jar包,logs是日志文件)
[root@hadoop1 ~]# cd /export/software/zookeeper-3.5.9/
[root@hadoop1 zookeeper-3.5.9]# ls
bin conf docs lib LICENSE.txt logs NOTICE.txt README.md README_packaging.txt
[root@hadoop1 zookeeper-3.5.9]# cd conf/
改名:
[root@hadoop1 conf]# ls
configuration.xsl log4j.properties zoo.cfg
[root@hadoop1 conf]# mv zoo_sample.cfg zoo.cfg
配置:
[root@hadoop1 conf]# vi zoo.cfg
底部输入 :set nu -------显示行号
a.设置文件目录及数据持久化路径
b.配置Zookeeper集群的服务器编号及对应的主机名、选举端口号和通信端口号
(注意此处必须与自己的虚拟机名称对应)
12 dataDir=/export/data/zookeeper/zkdata
29 server.1=192.168.204.121:2888:3888
30 server.2=192.168.204.122:2888:3888
31 server.3=192.168.204.123:2888:3888
(2)创建myid文件
a.创建数据文件目录:mkdir -p /export/data/zookeeper/zkdata
[root@hadoop1 conf]# mkdir -p /export/data/zookeeper/zkdata
[root@hadoop1 conf]# cd /export/data/zookeeper/zkdata
[root@hadoop1 zkdata]# vi myid
b.vi一个myid文件,文件内容为1
(3)配置环境变量(注意是在系统变量里)
[root@hadoop1 zkdata]# vi /etc/profile
export ZK_HOME=/export/software/zookeeper-3.5.9
在slave1和slave2里重复上面操作
(4)分发相关文件到其他节点
将配置好的zoo.cfg文件和创建好的myid文件传到slave1和slave2中:
[root@hadoop1 zkdata]# scp -r /export/data/zookeeper hadoop2:/export/data/
[root@hadoop1 zkdata]# scp -r /export/data/zookeeper hadoop3:/export/data/
然后,分别将slave1的myid的内容改为2,slave2的myid的内容改为3
(5)生效环境变量
使环境变量生效:
[root@hadoop1 zkdata]# source /etc/profile
(注意:需要在master、slave1、slave2里面都输入此命令)
5.启动和关闭Zookeeper
启动Zookeeper:(分别在master、slave1、slave2里面输入)
注意:将master、slave1和slave2的Zookeeper全部开启,再分别查看Zookeeper的状态
[root@hadoop1 zkdata]# zkServer.sh start
查看Zookeeper状态:
[root@hadoop1 zkdata]# zkServer.sh status
master:follower
slave1:leader
slave2:follower