测试系统:CentOS6.5 64位apache
虚拟机:Vmware Workstation服务器
Zookeeper集群节点数:3ssh
ZK角色
- Leader: 负责写请求
- follower: 跟随者,具备投票权,不然读请求或转发写请求,具备投票权
- observer: 观察者,不然读请求,不具投票权
配置步骤
- apache官网下载stable版本的zookeeper,解压命令
tar -zxvf zookeeper-3.4.10.tar.gz工具

- 将解压的Zookeeper目录移动到/usr/local目录
命令:sudo mv zookeeper-3.4.10 /usr/local/
切换到目录:/usr/local/zookeeper-3.4.10/conf测试

- 复制zoo_sample.cfg为zoo.cfg文件,这个zookeeper的主控配置文件
命令:cp zoo_sample.cfg zoo.cfg
- 配置zoo.cfg文件

参数说明:code
- tickTime:心跳时间:客户端与Zookeeper集群节点之间通讯确认机制,保障高可用的特性
- initLimit:Zookeeper初始化运行的心跳数
- sysncLimit:客户端发送请求和接受响应过程容许的心跳数
- dataDir:zookeeper的快照文件存储目录
- ClientPort:zookeeper的服务端口
配置Zookeeper集群节点server
格式:server.id =ip:A:Bblog
- id:表示服务节点的编号
- ip:服务器节点的ip地址
- A:zookeeper集群内部的通讯端口
- B:zookeeper集群内部选举端口
配置以下:ip

dataDir可自定义:不建议放入/tmp目录,由于Linux重启以后/tmp的数据可能丢失虚拟机
-
建立myid文件 在dataDir指定的目录,建立myid文件,并存放与zookeeper定义的节点编号的值 命令:echo "1">myid
-
经过ssh将zookeeper配置好的文件目录分发给zookeeper其余节点服务器
命令:sudo scp -r zookeeper-3.4.10/ 192.168.174.144:/usr/local/
注意:修改myid文件,将内容更改成对应的编号
- 测试zookeeper集群:最好关闭防火墙,不然会干扰:sudo service iptables stop
每一个节点经过bin目录下的zkServer.sh start启动,经过zkServer.sh status可查询当前节点在Zookeeper集群的角色


注意:只要当zoo.cfg配置的节点一半及以上的节点成功启动,zookeeper才能正常工做
- Zookeeper安装包自带的zkCli客户端工具进行测试 客户端链接Zookeeper集群命令:zkCli.sh -timeout 5000 -server 192.168.174.143:2181
参数说明:
- timeout:设置客户端与zookeeper集群通讯的Session有效期
- server:指定服务节点地址
- 192.168.174.143:2181:链接zookeeper集群的节点地址和服务端口
