zookeeper的集群组成及角色介绍
面试被问道zk,感觉自己对zk还算熟悉,但没答上来。平时真没注意过什么集群角色,
而且自己在zk官网也没注意过有相关描述。
见过一点东西不要觉得自己就会了就懂了,还是要踏踏实实的学习。
要认认真真的一点点的做笔记,要自己尝试能给别人讲明白。
转自 https://blog.csdn.net/fu123123fu/article/details/81193780
集群角色
Leader 角色
Leader 服务器是整个 zookeeper 集群的核心,主要的工作任务有两项:
1》事物请求的唯一调度和处理者,保证集群事物处理的顺序性。
2》集群内部各服务器的调度者。
Follower 角色
Follower 角色的主要职责是:
1》处理客户端非事物请求、转发事物请求给 leader 服务器。
2》参与事物请求 Proposal 的投票(Leader 发起的提案,要求 Follower 投票,需要半数以上follower节点通过,leader才会commit数据。)
3》参与 Leader 选举的投票。
Observer 角色
Observer 是 zookeeper3.3 开始引入的一个全新的服务器角色,从字面来理解,该角色充当了观察者的角色。观察 zookeeper 集群中的最新状态变化并将这些状态变化同步到 observer 服务器上。Observer 的工作原理与 follower 角色基本一致,而它和 follower 角色唯一的不同在于 observer 不参与任何形式的投票,包括事务请求Proposal的投票和leader选举的投票。简单来说,observer服务器只提供非事物请求服务,通常在于不影响集群事务处理能力的前提下提升集群非事物处理的能力。
集群组成
通常 zookeeper 是由2n+1台server组成,每个server都知道彼此的存在。
对于2n+1台server,只要有n+1台(大多数)server可用,整个系统保持可用。
我们已经了解到,一个 zookeeper 集群如果要对外提供可用的服务,那么集群中必须要有过半的机器正常工作并且彼此之间能够正常通信。
基于这个特性,如果要搭建一个能够允许F台机器down掉的集群,那么就要部署2*F+1台服务器构成的 zookeeper 集群。因此3台机器构成的 zookeeper 集群,能够在挂掉1台机器后依然正常工作。一个5台机器集群的服务,能够对2台机器挂掉的情况下进行容灾。如果一个由6台服务器构成的集群,同样只能挂掉2台机器。因此,5台和6台在容灾能力上并没有明显优势,反而增加了网络通信负担。系统启动时,集群中的server会选举出一台server为 Leader,其它的就作为 follower(这里不考虑 observer 角色)。
结论:之所以要满足这样一个等式,是因为一个节点要成为集群中的 leader,需要有超过集群中过半数的节点支持,这个涉及到 leader 选举算法。同时也涉及到事务请求的提交投票。
相关推荐
Linux下Zookeeper集群的安装
在这个文档中,我们将详细介绍如何安装和配置Zookeeper集群。 1. 基础环境准备 在安装Zookeeper之前,需要准备三台服务器,每台服务器需要安装Java环境。我们将使用JDK 8u141 Linux x64版本,上传到三台服务器,...
需要三台机器安装zookeeper集群:安装JDK环境、安装部署zookeeper集群、启动zookeeper集群、修改配置
搭建zookeeper集群搭建zookeeper集群搭建zookeeper集群搭建zookeeper集群搭建zookeeper集群搭建zookeeper集群
zookeeper集群配置详解 详细描述在linux集群环境中搭建zookeeper的步骤
Windows搭建zookeeper集群,解压即用。zookeeper的版本是3.5.5,自用非常方便。
此附件是快速搭建zookeeper集群的脚本,方便灵活,减少了自己一大堆复杂的操作,像运行服务一样执行几条start,stop等命令即可轻松完成集群搭建。
hadoop集群配置流程以及用到的配置文件,hadoop2.8.4、hbase2.1.0、zookeeper3.4.12
CentOS环境安装配置AMQ集群以及zookeeper集群的安装配置
dubbo+zookeeper集群配置.docx 希望这份文档dubbo+zookeeper集群配置.docx可以帮助学习者
zookeeper升级方案,线上环境实战,新老版本切换。由于公司内部zookeeper集群系统版本较低,对于一些特性的支持上有点欠缺,于是决定进行对zookeeper进行升级操作。从3.3.4升级至3.4.8。
zookeeper集群配置带图片详解内容较为清晰上市公司所用的pdf版本的集群配置如有不懂可联系
kafka集群zookeeper集群整合配置 本人亲自验证
linux下zookeeper集群环境搭建详细图文教程,简单易使用
zookeeper linux 搭建流程,zookeeper linux 搭建流程zookeeper linux 搭建流程zookeeper linux 搭建流程。
zookeeper是现在大数据领域不可或缺的组件,它用于Hadoop生态圈多个组件的HA配置,协调各个节点有序进行工作,在这里,我将一步一步教你搭建生产使用的zookeeper集群。
"Zookeeper 集群环境安装" Zookeeper 是一个分布式应用程序协调服务,提供了可靠的配置管理、分布式同步和命名注册等功能。为了在生产环境中使用 Zookeeper,需要安装和配置 Zookeeper 集群环境。下面是 Zookeeper ...
kafka(端口9091-9093)-zookeeper(端口2181-2183)集群配置
Zookeeper单机及集群安装配置