一、单节点安装
1)安装jdk
2)解压zookeeper压缩包
3)修改zoo.cfg
i.datadir=/opt/module/zookeeper-3.5.7/zkData 配置zookeeper存储的数据路径
二、分布式安装
1)在zkData下创建myid文件,存放唯一的id标识
2)在zoo.conf下更改配置
i.datadir=/opt/module/zookeeper-3.5.7/zkData 配置数据存储路径
ii.server.A=B:C:D
A 数字,表示第几个服务器
B 服务器地址
C Follower和Leader交换信息的端口,默认2888
D Leader挂掉后,服务器选举时相互通信的端口,默认3888
3)分发Zookeeper文件夹
4)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
三、配置解读
1)tickTime=2000 通信心跳时间,Zookeeper服务器与客户端心跳时间,单位毫秒
2)initLimit=10 LF初始通信时限,Leader和Follower初始连接时能容忍的最多心跳数
3)syncLimit=5 LF同步通信时限,Leader和Follower之间如果通信时间超过 syncLimit * tickTime,Leader认为Follower死掉,从服务器列表删除Follower