-
将Zookeeper安装包导入hadoop102的/opt/software文件夹下
-
将Zookeeper安装包解压至/opt/module文件夹下,并重命名
[atguigu@hadoop102 software]$ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/ [atguigu@hadoop102 module]$ mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7
-
配置服务器编号
①在/opt/module/zookeeper-3.5.7/目录下创建zkData文件夹
[atguigu@hadoop102 zookeeper-3.5.7]$ mkdir zkData
②在/opt/module/zookeeper-3.5.7/zkData目录下创建一个myid的文件
[atguigu@hadoop102 zkData]$ vim myid
③在myid文件中添加与主机名对应的编号(myid需要在Linux中创建,否则可能乱码),例如hadoop102主机的编号如下
2
-
配置zoo.cfg文件
①重命名/opt/module/zookeeper-3.5.7/conf目录下的zoo_sample.cfg文件为zoo.cfg
②修改zoo.cfg文件中的数据存储路径
dataDir=/opt/module/zookeeper-3.5.7/zkData
③在zoo.cfg文件中添加服务器配置
#######################cluster########################## server.2=hadoop102:2888:3888 server.3=hadoop103:2888:3888 server.4=hadoop104:2888:3888
注:
server.A=B:C:D
上述语句中:
A表示第几号服务器,与myid文件中的值相同,Zookeeper启动时读取此文件,获取其中的数据并与zoo.cfg里面的配置信息比较从而判断到底是哪个服务器
B表示该服务器的地址
C表示Follower与Leader进行通信的端口
D表示当Follower挂了后,用于重新选举时服务器之间相互通信的端口
-
Zookeeper与配置文件分发
①将/opt/module/zookeeper-3.5.7/分发至集群
②在各服务器中修改/opt/module/zookeeper-3.5.7/zkData/myid文件
-
单独启动、停止
[atguigu@hadoop102 zookeeper-3.5.7]$ bin/zkServer.sh start [atguigu@hadoop103 zookeeper-3.5.7]$ bin/zkServer.sh start [atguigu@hadoop104 zookeeper-3.5.7]$ bin/zkServer.sh start
-
脚本启动、停止
①在/home/atguigu/bin目录下新建Zookeeper集群启停脚本文件:my_zookeeper,编写后修改权限
#!/bin/bash case $1 in "start"){ for i in hadoop102 hadoop103 hadoop104 do echo ---------- zookeeper $i 启动 ------------ ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start" done };; "stop"){ for i in hadoop102 hadoop103 hadoop104 do echo ---------- zookeeper $i 停止 ------------ ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop" done };; "status"){ for i in hadoop102 hadoop103 hadoop104 do echo ---------- zookeeper $i 状态 ------------ ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status" done };; esac②启动、停止
my_zookeeper start/stop



