集群部署
1
. 下载
官网:http:
//zookeeper.apache.org/releases.html
下载:zookeeper-
3.4
.
8
.tar.gz
2
. 安装
tar -zxvf zookeeper-3.4.8.tar.gz mkdir data 注:在解压后zookeeper-3.4.8同级目录下创建 data 和 dataLog mkdir dataLog data 为数据目录,dataLog 为日志目录。
3
. 配置
cd zookeeper-3.4.8/conf cp zoo_sample.cfg zoo.cfg
第一台服务器配置
tickTime=
2000 注释:两秒
initLimit=
10 注释:initLimit*tickTime=20秒时间内至少启动集群
syncLimit=
2 注释:心跳最大时间 主从 tickTime*syncLimit秒心跳未响应清除节点
dataDir=/opt/zookeeper
-3.4.8/data
dataLogDir=/opt/zookeeper
-3.4.8/dataLog
clientPort=
2181
server.
1
=
服务器A的真实IP地址
:
2888
:
3888 注释 : 无需改动=
只需要更改这里换成真实ip即可
:
无需改动
:
无需改动
server.
2
=
服务器B的真实IP地址
:
2889
:
3889
server.
3
=
服务器C的真实IP地址
:
2890
:
3890
/opt/zookeeper
-3.4.8/data)
执行 :echo
1
> myid 注释:创建myid文件用来表示此台服务器的zk,在zk集群中的唯一表示要和配置文件中的server.1
的1对应上
第二台服务器配置
tickTime=
2000 注释:两秒
initLimit=
10 注释:initLimit*tickTime=20秒时间内至少启动集群
syncLimit=
2 注释:心跳最大时间 主从 tickTime*syncLimit秒心跳未响应清除节点
dataDir=/opt/zookeeper
-3.4.8/data
dataLogDir=/opt/zookeeper
-3.4.8/dataLog
clientPort=
2181
server.
1
=
服务器A的真实IP地址
:
2888
:
3888 注释 : 无需改动=
只需要更改这里换成真实ip即可
:
无需改动
:
无需改动
server.
2
=
服务器B的真实IP地址
:
2889
:
3889
server.
3
=
服务器C的真实IP地址
:
2890
:
3890
/opt/zookeeper
-3.4.8/data)
执行 :echo
2
> myid 注释:创建myid文件用来表示此台服务器的zk,在zk集群中的唯一表示要和配置文件中的server.2
的2对应上
第三台服务器配置
tickTime=
2000 注释:两秒
initLimit=
10 注释:initLimit*tickTime=20秒时间内至少启动集群
syncLimit=
2 注释:心跳最大时间 主从 tickTime*syncLimit秒心跳未响应清除节点
dataDir=/opt/zookeeper
-3.4.8/data
dataLogDir=/opt/zookeeper
-3.4.8/dataLog
clientPort=
2181
server.
1
=
服务器A的真实IP地址
:
2888
:
3888 注释 : 无需改动=
只需要更改这里换成真实ip即可
:
无需改动
:
无需改动
server.
2
=
服务器B的真实IP地址
:
2889
:
3889
server.
3
=
服务器C的真实IP地址
:
2890
:
3890
/opt/zookeeper
-3.4.8/data)
执行 :echo
3
> myid 注释:创建myid文件用来表示此台服务器的zk,在zk集群中的唯一表示要和配置文件中的server.1
的3对应上
4
. 启动
分别进入三台服务器的zk
/bin 目录,./zkServer.sh start 启动zk服务。
5
. 查看集群是否成功
/bin 目录,./zkServer.sh status 如果显示 Mode:leader 或者 Mode:follower 均是成功
6
.要定期清理 data(快照日志文件)和dataLog(事务文件),写个sh脚本即可,因为zk官网称绝不会清除zk的 快照文件和日志文件,zk3.4之后提供配置
参数来清除方式。
autopurge.snapRetainCount=20 保留20个文件
autopurge.purgeInterval=48 28小时清除一次