JDK的下载和安装
若未安装java,请参考: JDK下载和安装
下载zookeeper
zookeeper官网:zookeeper
本文使用zookeeper的版本为zookeeper-3.4.10。
配置zookeeper
拷贝生成zoo.cfg
tar zxvf zookeeper-3.4.10.tar.gz
cd zookeeper-3.4.10/conf
cp zoo_sample.cfg zoo.cfg
编辑zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/zk_dat
clientPort=2181
server.1=master:2888:3888
server.2=slave1.152:2888:3888
server.3=slave2:2888:3888
参数说明
- tickTime:指 zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔。
- initLimit:用来指定zookeeper 集群中leader接受follower初始化连接时最长能忍受的心跳时间间隔数。若超过 指定个心跳的时间间隔leader还没有收到follower的响应,表明follower连接失败。
- syncLimit:指定 leader与follower之间请求和应答时间最长不能超过多少个 tickTime 。
- dataDir:快照日志的存储路径。
- dataLogDir:事物日志的存储路径,如果不配置该路径,当zk吞吐量较大的时,会严重影响zk的性能。
- clientPort:客户端连接 zookeeper 服务器的端口,默认为2181。
- server.1 这个1是服务器的标识也可以是其他的数字,这个标识要写到dataDir目录下面myid文件里。
- server.1=hostname:2888:3888,hostname后面的第一个端口2888主要用于leader和follower之间的通信,第二个端口3888主要用于选主。
将zookeepr分发到slave节点
scp -r /root/software/zookeeper-3.4.10 root@slave1:/root/software/zookeeper-3.4.10
scp -r /root/software/zookeeper-3.4.10 root@slave2:/root/software/zookeeper-3.4.10
启停zookeeper
启动zookeeper
ssh root@master '/root/software/zookeeper-3.4.10/bin/zkServer.sh start'
ssh root@slave2 '/root/software/zookeeper-3.4.10/bin/zkServer.sh start'
ssh root@slave3 '/root/software/zookeeper-3.4.10/bin/zkServer.sh start'
查看zookeeper状态
ssh root@master '/root/software/zookeeper-3.4.10/bin/zkServer.sh status'
ssh root@slave2 '/root/software/zookeeper-3.4.10/bin/zkServer.sh status'
ssh root@slave3 '/root/software/zookeeper-3.4.10/bin/zkServer.sh status'
停止zookeeper
ssh root@master '/root/software/zookeeper-3.4.10/bin/zkServer.sh stop'
ssh root@slave2 '/root/software/zookeeper-3.4.10/bin/zkServer.sh stop'
ssh root@slave3 '/root/software/zookeeper-3.4.10/bin/zkServer.sh stop'