1. 分布式部署
1.1 集群规划
服务器hadoop102 服务器hadoop103 服务器hadoop104 Zookeeper Zookeeper Zookeeper Zookeeper
1.2 解压安装
1.2.1 上传安装包
上传压缩包到 /opt/software(其他目录也可,但下面的操作路径都得改)
压缩包下载地址
1.2.2 解压安装包
[ harry@hadoop102 software] $ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
1.2.3 修改文件名(可选)
[ harry@hadoop102 module] $ mv apache-zookeeper-3.5.7-bin/ zookeeper
1.2.4 配置服务器编号
[ harry@hadoop102 zookeeper] $ mkdir zkData
[ harry@hadoop102 zkData] $ vim myid
2
1.2.5 配置 zoo.cfg 文件
[ harry@hadoop102 conf] $ mv zoo_sample.cfg zoo.cfg
[ harry@hadoop102 conf] $ vim zoo.cfg
dataDir = /opt/module/zookeeper/zkData
server.2= hadoop102:2888:3888
server.3= hadoop103:2888:3888
server.4= hadoop104:2888:3888
1.2.6 分发/opt/module/zookeeper-3.5.7目录内容到hadoop103、hadoop104
[ harry@hadoop102 conf] $ scp -r /opt/module/zookeeper-3.5.7 hadoop103:/opt/module/
[ harry@hadoop102 conf] $ scp -r /opt/module/zookeeper-3.5.7 hadoop104:/opt/module/
1.2.7 分别修改hadoop103、hadoop104上的myid文件中内容为3、4
1.2.8 启动 zk
[ harry@hadoop102 zookeeper] $ bin/zkServer.sh start
[ harry@hadoop103 zookeeper] $ bin/zkServer.sh start
[ harry@hadoop104 zookeeper] $ bin/zkServer.sh start
1.2.9 查看状态
[ harry@hadoop102 zookeeper]
JMX enabled by default
Using config: /opt/module/zookeeper/bin/.. /conf/zoo.cfg
Mode: follower
[ harry@hadoop103 zookeeper]
JMX enabled by default
Using config: /opt/module/zookeeper/bin/.. /conf/zoo.cfg
Mode: leader
[ harry@hadoop104 zookeeper]
JMX enabled by default
Using config: /opt/module/zookeeper/bin/.. /conf/zoo.cfg
Mode: follower
2. zk 集群启动停止脚本(可选)
2.1 在hadoop102的/home/harry/bin目录下创建脚本
[ harry@hadoop102 bin] $ vim zk.sh
case $1 in
"start" ) {
for i in hadoop102 hadoop103 hadoop104
do
echo ---------- zookeeper $i 启动 ------------
ssh $i "/opt/module/zookeeper/bin/zkServer.sh start"
done
} ; ;
"stop" ) {
for i in hadoop102 hadoop103 hadoop104
do
echo ---------- zookeeper $i 停止 ------------
ssh $i "/opt/module/zookeeper/bin/zkServer.sh stop"
done
} ; ;
"status" ) {
for i in hadoop102 hadoop103 hadoop104
do
echo ---------- zookeeper $i 状态 ------------
ssh $i "/opt/module/zookeeper/bin/zkServer.sh status"
done
} ; ;
esac
[ harry@hadoop102 bin] $ chmod 777 zk.sh
[ harry@hadoop102 module] $ zk.sh start
[ harry@hadoop102 module] $ zk.sh stop
3. 客户端命令行操作
命令基本语法 功能描述 help 显示所有操作命令 ls path 使用 ls 命令来查看当前znode的子节点 -w 监听子节点变化 -s 附加次级信息 create 普通创建 -s 含有序列 -e 临时(重启或者超时消失) get path 获得节点的值 -w 监听节点内容变化 -s 附加次级信息 set 设置节点的具体值 stat 查看节点状态 delete 删除节点 deleteall 递归删除节点
参考 blog