十分钟搭建一个Zookeeper高可用集群

一, 集群安装

1,环境信息

主机名操作系统版本IP地址安装软件
zookeeper1CentOs7.6192.168.30.1JDK、zookeeper-3.5.7
zookeeper2CentOs7.6192.168.30.2JDK、zookeeper-3.5.7
zookeeper3CentOs7.6192.168.30.3JDK、zookeeper-3.5.7
在这里插入图片描述

二,配置zookeeper

1,下载链接: zookeeper

2, 拷贝 apache-zookeeper-3.5.7-bin.tar.gz 安装包到 Linux 系统下。

3,解压到指定目录并修改名称。

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
mv apache-zookeeper-3.5.7  zookeeper-3.5.7

4,配置修改
(1)将/opt/module/zookeeper-3.5.7/conf 这个路径下的 zoo_sample.cfg 修改为 zoo.cfg并创建目录。

cp zoo_sample.cfg zoo.cfg
mkdir dataDir
mkdir dataLogDir

(2)修改zoo.cfg配置文件

cd conf/
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg

tickTime=2000
#数据存放目录
dataDir=/opt/module/zookeeper-3.5.7/dataDir
#日志存放目录
dataLogDir=/opt/module/zookeeper-3.5.7/dataLogDir
#保留多少个快照 
autopurge.snapRetainCount=3
#日志多少小时清理一次 
autopurge.purgeInterval=1
server.1=192.168.30.1:2888:3888
server.2=192.168.30.2:2888:3888
server.3=192.168.30.3:2888:3888


(3)创建myid
在文件中添加与server对应的编号1,并分别修改其余两台机器为2、3。

cd  /opt/module/zookeeper-3.5.7/dataDir
echo 1 > myid 

(4)在zookeeper1主机上,将安装包分发到其他机器第一台机器上面执行以下两个命令。

scp -r /opt/module/zookeeper-3.5.7/ zookeeper2:/opt/module/zookeeper-3.5.7/
scp -r /opt/module/zookeeper-3.5.7/ zookeeper3:/opt/module/zookeeper-3.5.7/

三, 分别启动三台机器的zookeeper。

1,启动。

cd /opt/module/zookeeper-3.5.7/
bin/zkServer.sh start

#查看进程是否启动
 jps
4020 Jps
4001 QuorumPeerMain

# 查看版本号
yum -y install nc 
vim conf/zoo.cfg
新增:
4lw.commands.whitelist=*

echo stat|nc localhost 2181

2,查看状态

 bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Mode: follower

bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Mode: leader

 bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Mode: follower

四,配置文件详解

tickTime=2000

这个属性表示心跳时间间隔,Leader用来监听Follower的心跳,一旦挂掉一半以上Follower,会通过Zab(消息原子广播)协议使集群所有个体状态转变为Looking(等待选举新任Leader)。此属性除了用来监听之外,还对后面的同步时间和初始化时间有影响,系统默认为2000毫秒。

initLimit=10

集群中的follower服务器与Leader服务器之间初始连接时能容忍的最多心跳数(tickTime的数量),系统默认为10

syncLimit=5

集群中Follower服务器跟Leader服务器之间的请求和答应最多能容忍的心跳数(tickTime的数量),系统默认为5

clientPort=2181

zk客户端连接zookeeper的口号,默认2181。

此处是关于zk集群的配置,index代表自定义的各服务器序号(对应写在各自机器的myid中),IP即各服务器IP,A表示集群服务器之间通讯组件的端口,B表示选举组件的端口。如果配成集群,则zk状态(mode)为leader或follower;如果只配一个单机,mode为standalone。

3.5版本以后会自动占用8080端口,如有冲突需要修改 admin.serverPort=xxx



知识点:学好zookeeper看过来

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值