版本:jdk1.8.0_111
zookeeper:zookeeper-3.4.9
1.准备工作:
四台机器:
:node1:xxx.xxx.xxx.11,
node2:xxx.xxx.xxx.12,
node3:xxx.xxx.xxx.13,
node4:xxx.xxx.xxx.14
2.将安装包传送到linux环境下,放到 /usr/bigdata/ 目录在:
使用 tar -zxvf filename 对文件进行解压
3.cd /usr/bigdata/zookeeper-3.4.9/conf
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
##ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime。
tickTime=2000
##存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能。
dataDir=/var/lib/zookeeper/
##Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在 initLimit ##时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会##相应变长,因此在这种情况下,有必要适当调大这个参数了。(No Java system property)
initLimit=5 ##在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。注意:不要把这个参数设置得过大,否则可能会掩盖一些问题。(No Java system property)
syncLimit=2
##客户端连接server的端口,即对外服务端口,一般设置为2181吧。
clientPort=2181
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
server.4=node4:2888:3888
4.创建/var/lib/zookeeper快照目录,并创建server id文件。
mksir /var/lib/zookeeper/
cd /var/lib/zookeeper/
vi myid
i 1 ##这里的1和上面的server.1是相关的
5.存放命令文件:bin/
将此文件夹在局部环境里面进行设置: ~/.bash_profile
6.将这些配置scp 到其他机器上 按照4修改配置
scp -r ./zookeeper-3.4.9 root@node4:/usr/bigData/soft/
快照目录内的server id 对应conf文件内的server.后面的数字
7.开启服务:
在任意位置: zkServer.sh start ##启动
zkServer.sh status 查看状态
zkServer.sh stop 停止服务
注意:zookeeper启动后会有暂时的准备时间,可能刚起来查看状态,显示失败,需要多等一会就好。
启动前要关闭防火墙