zookeeper 集群实践

本文详细介绍了Zookeeper集群的实践,包括集群部署、节点角色(leader、follower、observer)、选举机制和数据同步。还讨论了如何通过四字命令进行运维,确保Zookeeper服务的稳定性和数据一致性。
摘要由CSDN通过智能技术生成

Zookeeper集群

zookeeper集群的目的是为了保证系统的性能承载更多的客户端连接设专门提供的机制。通过集群可以实现以下功能:

  • 读写分离:提高承载,为更多的客户端提供连接,并保障性能。
  • 主从自动切换:提高服务容错性,部分节点故障不会影响整个服务集群。

半数以上运行机制说明:
集群至少需要三台服务器,并且强烈建议使用奇数个服务器。因为zookeeper 通过判断大多数节点的存活来判断整个服务是否可用。比如3个节点,挂掉了2个表示整个集群挂掉,而用偶数4个,挂掉了2个也表示其并不是大部分存活,因此也会挂掉。

1. 集群部署

配置语法
server.<节点ID>=< IP>:<据同步端口>:<选举端口>

  • 节点ID: 服务id手动指定1至125之间的数字,并写到对应服务节点的 {dataDir}/myid 文件中。
  • IP地址: 节点的远程IP地址,可以相同。但生产环境就不能这么做了,因为在同一台机器就无法达到容错的目的。所以这种称作为伪集群。
  • 数据同步端口: 主从同时数据复制端口,(做伪集群时端口号不能重复)。
  • 远举端口: 主从节点选举端口,(做伪集群时端口号不能重复)。

配置文件示例:

tickTime=2000
dataDir=/var/lib/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
#以下为集群配置,必须配置在所有节点的zoo.cfg文件中
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888

集群配置流程:

  1. 分别创建3个data目录用于存储各节点数据
mkdir data
mkdir data/1
mkdir data/2
mkdir data/3
  1. 编写myid文件
echo 1 > data/1/myid
echo 2 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值