81  
zookeeper集群安装
作者: wyasw 于 2020年03月29日 发布在分类 / linux / 服务安装 下,并于 2020年06月08日 编辑
zookeeper

zookeeper集群安装

1 master 172.16.12.114

2 slave1 172.16.12.115

3 slave2 172.16.12.116

zookeeper 集群通常是用来对用户的分布式应用程序提供协调服务的,为了保证数据的一致性,对 zookeeper 集群进行了这样三种角色划分:leaderfollowerobserver分别对应着总统、议员和观察者。

总统(leader):负责进行投票的发起和决议,更新系统状态。

议员(follower):用于接收客户端请求并向客户端返回结果以及在选举过程中参与投票。

观察者(observer):也可以接收客户端连接,将写请求转发给leader节点,但是不参与投票过程,只同步leader的状态。通常对查询操作做负载。

1、为什么zookeeper节点是奇数?

容错率:首先从容错率来说明:(需要保证集群能够有半数进行投票)

防脑裂:脑裂集群的脑裂通常是发生在节点之间通信不可达的情况下,集群会分裂成不同的小集群,小集群各自选出自己的leader节点,导致原有的集群出现多个leader节点的情况,这就是脑裂。

1.1 下载并解压

下载地址: http://mirror.bit.edu.cn/apache/zookeeper

mkdir /home/tools

cd /home/tools

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

tar xf zookeeper-3.4.14.tar.gz

1.2 相应配置修改

mv zookeeper-3.4.14 /home/deploy/zookeeper

cd /home/deploy/zookeeper/conf/

cp zoo_sample.cfg zoo.cfg

1.2.1 修改配置文件zoo.cfg

注意:若是安装单节点则只需要改变dataDir=/home/deploy/zookeeper/data即可。

vim zoo.cfg

###egrep -v '^[ ]*$|^#' zoo.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/home/deploy/zookeeper/data

clientPort=2181

server.0=172.16.12.114:2888:3888

server.1=172.16.12.115:2888:3888

server.2=172.16.12.116:2888:3888

①、tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2tickTime

②、dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。

③、client:监听客户端连接的端口。

④、initLimit:允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。

⑤、syncLimit:表示LeaderFollower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。

⑥、server.A=B:C:D

A:其中 A 是一个数字,表示这个是服务器的编号;

B:是这个服务器的 ip 地址;

CLeader选举的端口;

DZookeeper服务器之间的通信端口。

我们需要修改的第一个是 dataDir ,在指定的位置处创建好目录。

第二个需要新增的是 server.A=B:C:D 配置,其中 A 对应下面我们即将介绍的myid 文件。B是集群的各个IP地址,C:D 是端口配置。

1.2.2 创建myid文件

在 上一步 dataDir 指定的目录下,创建 myid 文件。

mkdir /home/deploy/zookeeper/data

cd /home/deploy/zookeeper/data

vim myid

然后在该文件添加上一步server配置的对应A数字。

例如:

[root@zookeeper01 data]# cat myid

0

[root@zookeeper02 data]# cat myid

1

[root@zookeeper03 data]# cat myid

2

1.3 启动zookeeper服务

#启动

/home/deploy/zookeeper/bin/zkServer.sh start

#停止

/home/deploy/zookeeper/bin/zkServer.sh stop

#重启

/home/deploy/zookeeper/bin/zkServer.sh restart

#查看集群节点状态

/home/deploy/zookeeper/bin/zkServer.sh status

##注意

zkServer.sh status  ##leader为主节点

ZooKeeper JMX enabled by default

Using config: /home/deploy/zookeeper/bin/../conf/zoo.cfg

Mode: leader

zkServer.sh status  ## follower为从节点

ZooKeeper JMX enabled by default

Using config: /home/deploy/zookeeper/bin/../conf/zoo.cfg

Mode: follower




 推荐知识

 历史版本

修改日期 修改人 备注
2020-06-08 18:28:51[当前版本] 文艺范儿 格式调整
2020-03-29 20:20:58 wyasw 创建版本

  目录
    文艺知识分享平台 - 4.3.0 - 文艺范儿