Zookeeper集群部署

一. 服务器环境准备

我们这次准备了3台主机来完成。分别是slave1,slave2,slave3
zookeeper的集群中的机器数量最好应该是奇数个,因为需要过半存活集群才能工作,所以偶数个机器提供的集群可靠性其实和偶数-1个机器提供的集群可靠性是一样的。之前也有在Zookeeper原理介绍进行介绍。

二.集群配置

前面ZooKeeper入门教程也完成基本入门安装测试,这次在前面的基础上完成集群搭建。

1>zoo.cfg

进入conf目录,通过修改zoo.cfg来对zookeeper进行配置。这个名字固定写死,因为zookeeper启动会检查这个文件,根据这个配置文件里的信息来启动服务。

sudo vim zoo.cfg
# 服务器之间或客户端与服务器之间维持心跳的时间间隔
# tickTime以毫秒为单位。
tickTime=2000

# 集群中的follower服务器(F)与leader服务器(L)之间的初始连接心跳数
 initLimit=10
 # 集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数
 syncLimit=5
 # 快照保存目录
 # 不要设置为/tmp,该目录重新启动后会被自动清除
dataDir=/home/iot/jzz/zookeeper/data

dataLogDir=/home/iot/jzz/zookeeper/logs

# 客户端连接端口
clientPort=2181

# server.服务编号=服务地址、LF通信端口、选举端口
 
server.1=slave1:2888:3888

server.2=slave2:2888:3888
 
server.3=slave3:2888:3888

2>myid
在之前配置dataDir路径下,创建 myid,其中写上一个数字表明当前机器是哪一个编号的机器。
注意:文件名称必须是myid,文件内容只需要一个数字即服务器列表中当前服务器的编号。

sudo vim myid

slave1:

1

slave2:

2

slave3:

3

三、启动zookeeper

#启动ZK服务: 
bin/zkServer.sh start
#停止ZK服务: 
bin/zkServer.sh stop
#重启ZK服务: 
bin/zkServer.sh restart
#查看ZK服务状态: 
bin/zkServer.sh status

Zookeeper集群需要每台挨个启动。

启动集群的时候,集群数量启动没有超过一半,状态会有错误提示,当集群启动数量超过一半就会自动转为正常状态,并且此台使集群进入正常工作状态的服务器会成为leader角色,集群中其他服务器的角色为fllower。
slave1和slave2启动后如下图
在这里插入图片描述
slave3启动后
在这里插入图片描述

也可以是用jps命令查看线程。
在这里插入图片描述

Zookeeper集群模式搭建到此完成。

遇到问题

搭建zookeeper集群时遇到连不通其他结点3888端口的问题

myid:2] - INFO [QuorumPeermyid=2(secure=disabled):QuorumCnxManager@430] - Have smaller server identifier,
so dropping the connection: (100, 2)
2021-11-14 20:55:08,343 [myid:2] - INFO [QuorumPeermyid=2(secure=disabled):FastLeaderElection@919] - Notification time out: 400
2021-11-14 20:55:08,743 [myid:2] - WARN [QuorumPeermyid=2(secure=disabled):QuorumCnxManager@677] - Cannot open channel to 1 at elec
tion address slave_01/192.168.31.13:3888

解决 在zoo.cfg增加

quorumListenOnAllIPs=true
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值