zookeeper 集群快速搭建

版权声明:转载请声明原文出处!!!! https://blog.csdn.net/weixin_40461281/article/details/85336396

zookeeper稳定版下载地址 : http://apache.fayea.com/zookeeper/

这篇文章使用的是 zookeeper-3.4.12

首先将的服务器的 ip 地址记录下来 , 这里我使用的是 4台 服务器 

集群的角色:  leader 1台 、follower 2台、 observer 1台

leader

leader是zookeeper集群的核心。

  1. 事务请求的唯一调度者和处理者,保证集群事务处理的顺序性
  2. 集群内部各个服务器的调度者

follower

  1. 处理客户端非事务请求,以及转发事务请求给leader服务器
  2. 参与事务请求提议(proposal)的投票(客户端的一个事务请求,需要半数服务器投票通过以后才能通知leader commit; leader会发起一个提案,要求follower投票)
  3. 参与leader选举的投票

observer

观察zookeeper集群中最新状态的变化并将这些状态同步到observer服务器上

增加observer不影响集群中事务处理能力,同时还能提升集群的非事务处理能力

 

下载 zookeeper 并解压

进入 zookeeper 目录 找到 conf 文件夹

进入 conf 文件夹 将 zoo_sample.cfg(官方提供模板文件) 复制并重命名为 zoo.cfg

修改zoo.cfg

在最下面 将 4台服务器的ip地址 以 server.id=ip:port:port 的格式书写

server.1=服务器ip:2888:3181   

2888 表示follower节点与leader节点交换信息的端口号

3181 如果leader节点挂掉了, 需要一个端口来重新选举

如果增加 observer 需要书写成 server.id=ip:port:port:observer

并在 zoo.cfg 中增加配置 peerType=observer 这里将第4台服务器 作为 observer

zoo.cfg配置文件分析

tickTime=2000  zookeeper中最小的时间单位长度 (ms)

initLimit=10  follower节点启动后与leader节点完成数据同步的时间

syncLimit=5 leader节点和follower节点进行心跳检测的最大延时时间

dataDir=/tmp/zookeeper  表示zookeeper服务器存储快照文件的目录

dataLogDir 表示配置 zookeeper事务日志的存储路径,默认指定在dataDir目录下

clientPort 表示客户端和服务端建立连接的端口号: 2181

 

接下来 使用 xftp (别的也可) 将修改好的 zookeeper 分别上传到 4台服务器

zoo.cfg中有一个dataDir = /tmp/zookeeper

进入 $dataDir 所在的目录 新建文件 名为 myid 内容为 这台服务器的id

分别为4台服务器分配id 1,2,3,4

cd /tmp/zookeeper

vim myid

内容为 1/2/3/4 (id范围1~255) 不可重复

编辑好id 之后保存并退出 

因为 id=4 的服务器 为 observer 服务器

所以我们需要在 id=4 的服务器的 zookeeper存放目录/zookeeper/conf/zoo.cfg 配置文件中 加入配置 peerType=observer

这样集群的配置就完成了

接下来我们来启动集群

进入 zookeeper 目录下的 bin 文件夹

如果文件没有变成 绿色高亮 代表未授权

可使用 chmod +x *.sh 命令进行授权

使用 sh zkServer.sh start 命令启动zookeeper

使用 tail -f zookeeper.out 查看日志输出

将4台服务器全部启动 并查看日志 如没有报错 说明集群启动成功

然后 我们使用 sh zkServer status 命令查看zookeeper 的运行状态与所分配的角色 是否与我们所要配置的一致

myid=1 的 角色为 follower

myid=2 的 角色为 follower

myid=3 的 角色为 leader

 

myid=4 的 角色为 observer

与我们所要配置的一致 , 集群搭建成功

如想使用java 操作 zookeeper 请参考我的另一片文章 https://blog.csdn.net/weixin_40461281/article/details/85337190

猜你喜欢

转载自blog.csdn.net/weixin_40461281/article/details/85336396