大数据开发面试题【Zookeeper篇】

47、zookeeper是什么?

主要服务于分布式系统,可用来做统一配置管理、统一命令服务、分布式锁、集群管理等

48、zookeeper的作用以及适用场景?

数据的发布订阅:由于大数据集群中节点过多,不可逐台进行修改,在设计时候采用统一的配置中心,之后只需要将新的配置发送到配置中心,所有节点都可自动下载更新

命名服务:zk通过顺序节点的特性来生成全局唯一ID

Master选举:让所有服务节点去竞争性地创建用一个ZNode,必然只有一个服务节点能够创建成功

分布式锁:

集群管理:

事务操作:

49、Zookeeper的选举策略,leader和follower的区别?

在zk集群启动时候,需要确定一台leader服务器。首先确保集群之间可以相互通信
第一次选举:

假如集群有五台服务器:

服务器1启动时候,会投自己一票,此时不满半数,服务器1保持为looking

服务器2启动时候,服务器1和服务器2交换信息,但服务器1发现服务器2的myid比自己大,所以将自己的票投给服务器2,此时服务器1有0票,服务器2有两票,不满半数,都为looking

服务器3启动时候,重复上述步骤,拥有3个选票,超过半数,当选为leader,此时其他服务器状态为following

第二次选举:

当集群中的leader挂掉之后,其他所有节点会把自己的状态设置为looking,此时的选举规则为①EPOCH大的直接胜出,②:EPOCH相同,事务id大的胜出,③:事务id相同,服务器id大的胜出

SID:服务器ID。用来唯一标识一台 ZooKeeper集群中的机器,每台机器不能重

复,和myid一致。

ZXID:事务ID。ZXID是一个事务ID,用来 标识一次服务器状态的变更。在某一时刻, 集群中的每台机器的ZXID值不一定完全一 致,这和ZooKeeper服务器对于客户端"更 新请求"的处理逻辑有关。

Epoch:每个Leader任期的代号。没有 Leader时同一轮投票过程中的逻辑时钟值是 相同的。每投完一次票这个数据就会增加

50、Zookeeper的节点类型有哪些?分别作用是什么?

持久节点类型:节点在创建后,一直存在,直到主动来删除这个节点,不会因为客户端会话失效而消失

持久顺序节点:和持久节点类似,

临时节点:临时节点的生命周期和客户端会话绑定,如果客户端会话失效,该节点消失

51、Zookeeper的节点数怎么设置比较好?

在ZK集群中,建议部署奇数个节点,大多数情况下,三个就ok,节点数越多,节点间通信所需要的时间也越久,选举leader时候需要的时间也越久

zk集群的容错数:在保证集群可用的前提下,最多允许挂掉的节点个数,也叫做zk集群的容错数,

52、ZK中的脑裂问题

原本是一个leader,现在变成了两个leader服务,一般zk集群中不会轻易出现脑裂问题,原因在于过半机制

在zk中的过半机制是大于,而不是大于等于:为了防止脑裂

假死:由于心跳超时,认为leader死了,实际上leader还活着

脑裂:由于假死会发起新的选举,选举一个新的leader,但此时旧的那个leader网络恢复,故此时集群中有两个leader,此时造成脑裂

解决脑裂问题:

quorums方式:

53、Zookeeper如何保证数据的一致性?

ZAB(zookeeper autom broadcast)原子广播协议。

ZAB协议分为两部分:

消息广播阶段:leader接收事务提交,并且将新的proposal请求广播给follower节点,收集各个节点的反馈,决定是否commit

崩溃恢复机制:如果在同步过程中出现 Leader 节点宕机,会进入崩溃恢复阶段,重新进行 Leader 选举,崩溃恢复阶段还包含数据同步操作,同步集群中最新的数据,保持集群的数据一致性。

补充:zk中的一致性协议叫什么

ZAB(zookeeper autom broadcast)原子广播协议。

ZAB协议是一个分布式一致性算法,让ZK拥有了崩溃恢复和原子广播的能力,进而保证集群中的数据一致性

实现架构:任何learner节点接收到非事务请求查询本地缓存然后返回,任何事务操作都需要转发给leader,由leader发起决议,同集群中超过半数的follower返回确认ack时,leader进行广播看,要求全部节点提交事务

特性:保证早leader上提交的事务最终被所有服务器提交;保证丢弃没有经过半数检验的事务

协议内容:集群启动时候,或者当leader服务器网络中断、崩溃恢复等情况时候,ZAB协议就会进入崩溃恢复模式,选举产生新的leader;当选举产生新的leader,同时集群中由过半机器与该leader服务器完成了数据同步之后,zab协议就会退出崩溃模式,进入消息广播模式

相关推荐
wWYy.4 分钟前
分布式:数据复制
分布式
ifenxi爱分析1 小时前
爱分析最新报告解读:AI数据基础设施与数据中台的区别
大数据·人工智能
品牌全球行2 小时前
共商共建共享 链接数字未来——“一带一路数字新城(深圳)会客厅筹备办”揭牌仪式在深圳隆重举行
大数据·人工智能
数智化管理手记3 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
二宝哥4 小时前
ZooKeeper 3.4.13 单机安装详解
zookeeper
ApacheSeaTunnel4 小时前
Apache SeaTunnel AI CLI Benchmark:7 款大模型、100 个 ETL 任务实测,谁真正能跑起来?
大数据·ai·开源·大模型·数据集成·cli·seatunnel·技术分享·数据同步
电商API_180079052474 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
小稻穗5 小时前
市场调研样本选型坐标系:2026六家国内样本平台能力横向校验
大数据·运维·数据分析
极光代码工作室5 小时前
基于Spark的日志监控与分析平台
大数据·hadoop·python·spark·数据可视化
wuhanzhanhui6 小时前
从高强钢到碳纤维!2026武汉汽车材料轻量化制造技术展会,重塑未来造车新范式
大数据·汽车·制造