当前位置: 首页 > article >正文

深入 Hadoop 高可用:Leader、Follower 、Observer」角色详解

在 Hadoop 高可用HA架构中Leader 选举是保障集群稳定的核心机制 —— 我们常听说 Leader主节点和 Follower从节点但很少有人深入聊第三种关键角色Observer观察者。一、先理清Hadoop 的 “角色分工” 依赖谁首先要明确一个关键前提Hadoop 本身HDFS、YARN的 Leader 选举核心依赖 ZooKeeperZK集群。Hadoop 的 NameNodeNN、ResourceManagerRM只是 “选手”而 ZK 才是 “裁判 调度中心”——Leader、Follower、Observer 这三个角色本质是 ZK 集群的节点角色正是这三个角色的协同才让 Hadoop 的 HA 选举能够快速、可靠地完成。所以我们聊的 “三个角色”是 ZK 的角色但其作用直接决定了 Hadoop 集群的高可用能力。二、三个角色深度拆解各有分工缺一不可1. Leader集群的 “决策者”核心职责唯一的写请求处理者所有客户端的写操作比如 Hadoop HA 中创建 “Active 锁”都必须经过 Leader事务发起者同步数据到所有从节点保证集群数据一致性选举主导者集群初始化或 Leader 故障时主导新一轮选举。形象比喻相当于公司的 “CEO”—— 拍板决策、处理核心业务同时向所有员工同步公司战略。在 Hadoop 中的作用当 Hadoop 集群启动时Leader 节点会接收两个 NameNode 的 “锁竞争请求”最终判定一个为 Active NN主节点另一个为 Standby NN备节点并将结果同步给整个集群。2. Follower集群的 “执行者 投票者”核心职责参与 Leader 选举Leader 故障时和其他 Follower 一起竞争成为新 Leader处理读请求分担 Leader 的读压力提高集群响应速度同步 Leader 数据接收 Leader 的事务指令同步数据到本地保证数据一致性投票确认Leader 发起的事务如数据更新需要超过半数 Follower 确认后才生效“过半机制”。形象比喻相当于公司的 “部门经理”—— 参与决策投票、执行 CEO 指令同时处理日常业务。在 Hadoop 中的作用Hadoop HA 集群中ZK 的 Follower 节点会参与 “Active NN 选举” 的投票确保选举结果的合法性同时Follower 会实时同步 Leader 存储的 “集群状态”如哪个 NN 是 Active当客户端查询时Follower 可以直接返回结果减轻 Leader 压力。3. Observer集群的 “旁观者 转播员”被忽略的关键角色核心职责不参与 Leader 选举无论 Leader 是否故障Observer 都不会竞争 Leader 职位不参与投票Leader 的事务不需要 Observer 确认不影响 “过半机制”同步 Leader 数据和 Follower 一样实时从 Leader 同步数据保持数据一致性处理读请求专门分担读压力尤其适合读多写少的场景。形象比喻相当于公司的 “市场调研员”—— 不参与决策和投票但会同步公司所有信息同时处理外部咨询读请求减轻核心团队压力。在 Hadoop 中的作用当 Hadoop 集群规模扩大比如 10 个 DataNode客户端读请求增多如频繁查询 NN 状态、Hive 元数据时Observer 可以承接大量读请求避免 Follower 因 “既要投票又要处理读请求” 导致的性能瓶颈。比如我之前维护的一个 100 节点 Hadoop 集群初期用 3 个 ZK 节点1 Leader2 Follower随着业务增长读请求 latency 从 10ms 飙升到 50ms添加 2 个 Observer 后latency 直接降到 15ms 以内 —— 这就是 Observer 的核心价值扩容读性能不影响选举稳定性。三、三个角色核心区别对比表表格角色参与选举参与投票同步数据处理读请求处理写请求核心价值Leader✅ 主导✅ 发起✅ 发起✅✅ 唯一决策 写操作处理Follower✅ 参与✅ 参与✅ 接收✅❌投票 读操作分担 故障备用Observer❌❌✅ 接收✅❌大规模读请求分担 不干扰选举四、Hadoop 集群中ZK 角色如何协同工作以 HDFS HA 的 Leader 选举为例完整流程如下1. 集群初始化阶段ZK 集群启动1 个 Leader、2 个 Follower、1 个 Observer假设 4 节点 ZK 集群两个 NameNodeNN1、NN2向 ZK 发起 “创建临时节点” 请求竞争 Active 锁Leader 接收请求后判定 NN1 抢到锁将其标记为 ActiveNN2 为 StandbyLeader 将 “NN1Active” 的状态同步给所有 Follower 和 Observer客户端查询 “哪个 NN 是 Active” 时可直接从 Follower 或 Observer 获取结果无需访问 Leader。2. 主节点故障阶段Active NN1 宕机ZK 上 NN1 的临时节点自动消失Follower 通过 Watcher 感知到节点消失触发新一轮选举两个 Follower 竞争成为新 Leader选举出结果后新 Leader 判定 NN2 为 Active新 Leader 将 “NN2Active” 同步给所有 Follower 和 Observer整个过程中Observer 始终同步数据但不参与选举和投票不影响切换速度。3. 大规模读请求场景当 Hive 客户端、Spark 作业频繁查询 HDFS 元数据时大量读请求会被分流到 Observer 和 FollowerLeader 只需要处理 “NN 状态变更” 等核心写请求避免因读请求过多导致选举延迟即使 Observer 节点故障也不会影响集群的选举机制和数据一致性容错性极高。五、实际配置建议不同规模 Hadoop 集群的 ZK 角色搭配1. 小型集群3-10 节点 HadoopZK 集群规模3 节点1 Leader 2 Follower适用场景测试环境、小流量生产环境理由无需 ObserverFollower 足够处理读请求3 节点满足 “过半机制”部署简单。2. 中型集群10-50 节点 HadoopZK 集群规模4 节点1 Leader 2 Follower 1 Observer适用场景中等流量读请求较多如日常 ETL、报表查询理由Observer 分担读压力Follower 专注于选举和投票平衡性能和稳定性。3. 大型集群50 节点 HadoopZK 集群规模5-7 节点1 Leader 3 Follower 1-3 Observer适用场景高并发读请求如实时计算、多团队共享集群理由多个 Observer 承接大量读请求Follower 数量保证选举稳定性避免 “过半机制” 因节点故障失效。六、常见误区这些错误认知要避开误区 1Observer 是多余的Follower 足够用错当读请求远大于写请求时Follower 既要参与选举投票又要处理读请求会成为瓶颈Observer 不干扰选举专门扛读请求是大规模集群的 “性能救星”。误区 2Observer 越多越好错Observer 需要同步 Leader 数据过多 Observer 会增加 Leader 的同步压力建议 Observer 数量不超过 Follower 数量根据读请求压力动态调整。误区 3Hadoop 的 NN/RM 有 Observer 角色错Observer 是 ZK 的角色Hadoop 的 NN/RM 只有 Active 和 Standby 两种状态ZK 的 Observer 通过优化选举环境间接提升 Hadoop 的 HA 性能。七、总结三个角色的核心价值Hadoop 的高可用本质是 ZK 集群的 “角色协同艺术”Leader保证决策唯一性是集群的 “大脑”Follower保证选举合法性和数据一致性是集群的 “骨架”Observer保证大规模读请求的性能是集群的 “肌肉”。很多工程师在搭建 Hadoop HA 时只关注 Leader 和 Follower却忽略了 Observer 的价值 —— 当集群规模扩大、读请求激增时一个小小的 Observer 就能解决大问题。如果觉得有收获欢迎点赞、转发也可以在评论区分享你的 Hadoop 集群搭建经验

相关文章:

深入 Hadoop 高可用:Leader、Follower 、Observer」角色详解

在 Hadoop 高可用(HA)架构中,Leader 选举是保障集群稳定的核心机制 —— 我们常听说 Leader(主节点)和 Follower(从节点),但很少有人深入聊第三种关键角色:Observer&…...

零基础部署Ostrakon-VL-8B:餐饮零售视觉AI,一键搭建企业级智能巡检平台

零基础部署Ostrakon-VL-8B:餐饮零售视觉AI,一键搭建企业级智能巡检平台 1. 为什么餐饮零售企业需要视觉AI? 想象一下这样的场景:你是一家连锁餐饮店的区域经理,手下管理着20家门店。每天,店长们会通过微信…...

从自动驾驶到AR眼镜:棋盘格标定法在工业与消费级应用中的实战差异

从自动驾驶到AR眼镜:棋盘格标定法在工业与消费级应用中的实战差异 在计算机视觉领域,棋盘格标定法就像一把瑞士军刀——看似简单的黑白方格图案,却能解决从工业机器人精准定位到手机AR测量等截然不同的视觉难题。但有趣的是,同样是…...

别把 Contract C1 当成一个小开关,它决定了你的 ABAP 接口能不能活过下一轮升级

项目里最容易把人拖进泥潭的,往往不是一段代码写不出来,而是一个原本跑得好好的扩展,在系统升级之后突然开始失稳。昨天还能用的自定义逻辑,今天因为标准对象的参数变了、字段被改了、关联目标被挪了,整个流程从查询层一直碎到服务层。到了 ABAP Cloud 和 Clean Core 这条…...

WebPShop终极指南:让你的Photoshop完美支持WebP格式

WebPShop终极指南:让你的Photoshop完美支持WebP格式 【免费下载链接】WebPShop Photoshop plug-in for opening and saving WebP images 项目地址: https://gitcode.com/gh_mirrors/we/WebPShop 还在为Photoshop无法原生支持WebP格式而烦恼吗?&am…...

PubSubClient终极指南:让Arduino设备轻松接入MQTT物联网的完整教程

PubSubClient终极指南:让Arduino设备轻松接入MQTT物联网的完整教程 【免费下载链接】pubsubclient A client library for the Arduino Ethernet Shield that provides support for MQTT. 项目地址: https://gitcode.com/gh_mirrors/pu/pubsubclient PubSubCl…...

从代码到公路:如何用网页设计体验一把张雪机车的速度与激情?

闲来无事,我设计与制作了一个官网。我想用网页讲一个关于速度与激情的故事。 黑色背景上橙色的光芒划破屏幕,粒子动画如火花般飞溅,3D模型随着鼠标缓缓旋转...这不是在玩游戏,这是在看一台机车。 当其他品牌还在用静态图片展示产…...

GD32F103C8T6上跑FreeRTOS:保姆级移植教程,从源码下载到LED闪烁测试

GD32F103C8T6移植FreeRTOS实战指南:从零构建实时操作系统 第一次拿到GD32开发板时,我盯着这块"国产STM32"看了半天——引脚兼容、外设相似,但真要把成熟的FreeRTOS移植上去,还是遇到了不少坑。本文将用最接地气的方式&a…...

weixin291基于微信小程序的家政服务预约系统的设计与实现+php(文档+源码)_kaic

第4章 系统详细实现 4.1登录功能模块的界面实现 在系统调试运行后,可以进入本界面&am…...

Vue3生命周期钩子详解:从创建到销毁的全过程

Vue3 生命周期 Vue3 的生命周期钩子函数与 Vue2 有所不同,主要通过 Composition API 的方式使用。以下是 Vue3 的主要生命周期钩子及其用途: beforeCreate 在实例初始化之后、数据观测和事件配置之前被调用。此时组件的选项还未被处理,data 和…...

Concept HDL高效网络名批量互换:基于脚本的Pin Swap自动化实现

1. 问题背景与痛点分析 硬件工程师在完成原理图设计后,常常会遇到Layout工程师反馈的信号优化需求。比如FPGA的IO需要重新分配,高速差分对的极性需要调整,DDR信号组需要重新排布等等。传统做法是手动在Concept HDL中逐个修改网络名&#xff0…...

Flyback电路关键元件选型与设计实战(1)

1. 反激式电源保护元件的重要性 反激式开关电源(Flyback Converter)作为最常见的隔离型电源拓扑之一,其可靠性很大程度上取决于保护电路的设计。在实际项目中,我见过太多因为保护元件选型不当导致的炸机事故——从保险丝误熔断到压…...

茉莉花插件:5步掌握Zotero中文文献管理终极技巧

茉莉花插件:5步掌握Zotero中文文献管理终极技巧 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 你是否曾被中文文献管…...

嵌入式Linux实战:手把手教你为EC20 4G模块编译GobiNet驱动(附完整Makefile配置)

嵌入式Linux实战:EC20 4G模块GobiNet驱动深度移植指南 在工业物联网和边缘计算场景中,EC20 4G模块凭借其稳定的LTE连接能力成为嵌入式设备的首选通信方案。不同于常见的PPP拨号方式,GobiNet驱动能提供更低延迟、更高吞吐量的网络性能&#xf…...

视频修复终极指南:如何用Untrunc恢复损坏的MP4/MOV文件

视频修复终极指南:如何用Untrunc恢复损坏的MP4/MOV文件 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 你是否曾经遇到过珍贵的视频文件突然无法播放的困…...

如何突破Stable Diffusion生成瓶颈?ComfyUI_TensorRT实战解密

如何突破Stable Diffusion生成瓶颈?ComfyUI_TensorRT实战解密 【免费下载链接】ComfyUI_TensorRT 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_TensorRT 你是否曾在等待Stable Diffusion图像生成时感到焦虑?每次点击"生成"按…...

Windows系统下Mamba-SSM避坑指南:从WSL配置到编译成功

1. 为什么选择WSL安装Mamba-SSM Mamba-SSM作为新一代深度学习架构,在处理长序列任务时展现出显著优势。但官方仅支持Linux系统,这让Windows用户面临两难选择:要么重装系统,要么放弃体验新技术。WSL(Windows Subsystem …...

从零到过等保:一个运维的实战踩坑记录(含拓扑图绘制工具与设备配置模板)

从零到过等保:一个运维的实战踩坑记录 去年夏天,当我第一次接到公司信息系统等保2.0三级测评任务时,整个人都是懵的。作为团队里资历尚浅的运维工程师,我对等保的理解还停留在"需要买一堆安全设备"的层面。如今回头看这…...

MiniMax 闫俊杰向左, DeepSeek 梁文锋向右

2026 年初,大模型赛道有两件事值得关注。3 月,MiniMax 发布首份年报,营收爆发式增长。2 月,DeepSeek 创始人梁文锋接受 Lex Fridman 4 小时访谈,震惊全球 AI 圈。两个年轻人,两种打法,两条完全不…...

BabelDOC企业级离线部署实战指南:5步构建安全文档翻译系统

BabelDOC企业级离线部署实战指南:5步构建安全文档翻译系统 【免费下载链接】BabelDOC Yet Another Document Translator 项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC 在数据安全合规要求日益严格的今天,企业级文档翻译工具必须提…...

【AI智能体实战】Dify与MCP服务深度集成:从零构建企业级智能问答系统

1. 为什么选择DifyMCP搭建企业级问答系统 最近两年,企业知识库智能化改造的需求呈现爆发式增长。我经手过的十几个项目中,客户普遍反映传统问答系统存在三个痛点:第一是模型效果不稳定,简单问题能回答但复杂业务逻辑就出错&#x…...

终极虚拟游戏控制器驱动:让你收藏的手柄重获新生

终极虚拟游戏控制器驱动:让你收藏的手柄重获新生 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否有一柜子的游戏手柄,却因为PC…...

IPD实战指南:如何运用SPAN工具精准定位高潜力市场并优化产品战略布局

1. SPAN工具:市场定位的"战略导航仪" 第一次接触SPAN工具是在2015年,当时我们团队正在为智能家居产品线寻找新的市场突破口。面对十几个潜在细分市场,市场部提交的200页分析报告让所有人陷入数据沼泽。直到产品总监在白板上画出那个…...

手把手教你为Windows10的ROS环境创建‘一键启动’快捷方式(含VS2022路径配置详解)

Windows高效开发:ROS环境一键启动方案深度解析 在Windows系统上搭建ROS开发环境后,每次启动都需要手动配置环境变量、加载开发工具链,这种重复性操作不仅浪费时间,还容易因输入错误导致环境异常。本文将彻底解决这一痛点&#xff…...

Midscene.js:AI视觉驱动自动化,三分钟告别重复浏览器操作

Midscene.js:AI视觉驱动自动化,三分钟告别重复浏览器操作 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 你是否还在为每天重复的浏览器操…...

从噪声到厘米级:GNSS载波相位平滑伪距的工程实践与精度跃迁

1. 从米级到厘米级:GNSS定位精度的关键突破 刚接触GNSS定位时,你可能遇到过这样的困扰:明明设备显示定位精度是1米,实际位置却总在3-5米范围内跳动。这种"飘忽不定"的现象,很大程度上源于原始伪距观测值中的…...

华为服务器SP380网卡固件升级保姆级教程(附避坑指南)

华为SP380网卡固件升级全流程实战手册 当数据中心运维团队遇到网络性能瓶颈或安全漏洞时,网卡固件升级往往是最经济高效的解决方案。作为华为服务器搭载的高性能网卡,SP380在企业级环境中承担着关键的网络流量处理任务。本文将深入解析通过Smart Provisi…...

医院综合能源数据采集监控管理系统方案

某医院主要能耗类型为电能和天然气,天然气主要供给燃气锅炉生产生活热水,用能设备包括供配电设施、暖通空调、生活热水机组、照明、医疗卫生设施等。随着医疗需求与医院规模不断扩大,能耗成本也不断提升,主要集中于夏季供冷和冬季…...

5步快速上手AntiDupl:彻底告别重复图片困扰的智能解决方案

5步快速上手AntiDupl:彻底告别重复图片困扰的智能解决方案 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否曾经花费数小时在数千张照片中寻找重复文件…...

焊接机器人数据采集物联网解决方案

方案背景 在汽车制造领域,焊接机器人作为车身焊接、零部件焊接、汽车总装的自动化生产设备,发挥着至关重要的作用。它们能够精确、高效地完成各种焊接任务,确保焊接质量稳定可靠,焊接强度、焊缝外观等关键指标符合严格的标准要求。…...