zookeeper集群配置以及特性

1.zookeeper使用集群的目的以及集群配置说明

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

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

半数以上运行机制说明:

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

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

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

其中一个配置文件示例:

tickTime=2000
dataDir=/usr/local/zookeeper/zk/data/1
#每一个不同的配置文件的端口号设置为不一致的
clientPort=2181
initLimit=5
syncLimit=2
#以下为集群配置,必须配置在所有节点的zoo.cfg文件中
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888

2. 集群角色说明

zookeeper 集群中总共有三种角色,分别是leader(主节点)follower(子节点) observer(次级子节点)

角色描述
leader主节点,又名领导者。用于写入数据,通过选举产生,如果宕机将会选举新的主节点。
follower子节点,又名追随者。用于实现数据的读取。同时他也是主节点的备选节点,并用拥有投票权。
observer次级子节点,又名观察者。用于读取数据,与fllower区别在于没有投票权,不能选为主节点。并且在计算集群可用状态时不会将observer计算入内。

observer配置:
只要在集群配置中加上observer后缀即可,示例如下:
server.3=127.0.0.1:2889:3889:observer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值