大数据学习(64)- 大数据集群的高可用(HA)

&&大数据学习&&

🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。
💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞

🍋一、大数据集群高可用实现方式

  1. 多节点冗余

    • NameNode/ResourceManager高可用:在Hadoop生态系统中,HDFS的NameNode和YARN的ResourceManager都采用了主备架构,通过设置两个节点,一个处于Active状态,另一个处于Standby状态,确保在主节点故障时能够迅速切换到备节点,继续提供服务。
    • 数据节点冗余:在HDFS中,数据会被分割成多个块,并存储在不同的DataNode上,实现数据的冗余存储。即使某个DataNode出现故障,数据仍然可以从其他DataNode上恢复。
  2. 数据复制和冗余

    • 数据复制:大数据集群通常会在不同的节点上复制数据,以提高数据的可用性和容错性。例如,HDFS默认将数据块复制三份,存储在集群中的不同节点上。
    • 元数据冗余:对于元数据,如HDFS的NameNode和YARN的ResourceManager中的信息,也会进行冗余存储,确保在主节点故障时,备节点能够迅速接管并恢复元数据。
  3. 负载均衡

    • 任务分发:大数据集群通常会使用负载均衡器来分发请求和任务,确保各个节点的负载均衡,防止单个节点被过度使用。
    • 数据分发:在HDFS中,数据块的分布也是负载均衡的一部分,通过合理的数据块放置策略,确保各个DataNode的存储负载相对均衡。
  4. 容错性

    • 故障检测:集群应具备故障检测机制,能够及时发现并报告节点或组件的故障。
    • 自动恢复:在检测到故障后,集群应具备自动恢复功能,能够自动重启故障节点或组件,或将其任务转移到其他节点上。
  5. 自动扩展

    • 动态扩展:集群应具备自动扩展功能,以便在需要时动态增加节点来应对工作负载的增加。
    • 弹性伸缩:通过自动化的伸缩策略,集群可以根据实时的负载情况,动态增加或减少节点数量,以实现弹性的资源分配。
  6. 监控和管理

    • 监控工具:集群需要监控和管理工具,以便管理员能够实时监视系统的性能、健康状况和异常情况。
    • 告警机制:当系统出现异常或潜在故障时,监控工具应及时发出告警,以便管理员能够迅速采取措施解决问题。

🍋二、HDFS的HA

核心组件与角色

  • NameNode(NN):负责客户端请求的响应以及元数据的管理(如文件的创建、删除、重命名等)。
  • Secondary NameNode(SNN):在Hadoop 1.x版本中,起到冷备份的作用,当NameNode挂掉时需要手工启动。
  • JournalNode(JN):在Hadoop 2.x版本中引入,用于Active NN和Standby NN间的数据同步。
  • Zookeeper集群:用于选举Active NN和Standby NN。
  • ZKFC(ZooKeeper Failover Controller):监控NN的健康状态,并触发主备切换。

架构与机制

  • 双NameNode架构:设置两个NameNode,一个处于Active状态,另一个处于Standby状态。
  • 元数据同步:Active NN将编辑日志(Editlog)写入共享存储(如JournalNode集群),Standby NN从共享存储中读取Editlog并应用,以保持与Active NN的元数据同步。
  • 自动故障转移:当Active NN出现故障时,Zookeeper集群会选举出一个新的Active NN,ZKFC负责监控NN的状态并触发切换。

🍋三、YARN的HA

核心组件与角色

  • ResourceManager(RM):负责接收客户端的任务请求,进行资源的分配与调度,启动和监控ApplicationMaster(AM)。
  • NodeManager(NM):管理容器(Container)的生命周期,与RM协同工作,完成任务的执行。
  • Zookeeper集群:用于选举Active RM和Standby RM。
  • ZKFC:在YARN中,ZKFC是RM进程的一个线程,用于监控RM的健康状态并触发主备切换。

架构与机制

  • 双ResourceManager架构:设置两个RM,一个处于Active状态,另一个处于Standby状态。
  • 作业信息同步:Active RM将作业信息存储在共享存储(如Zookeeper)中,Standby RM从共享存储中读取作业信息,以保持与Active RM的作业信息同步。
  • 自动故障转移:当Active RM出现故障时,Zookeeper集群会选举出一个新的Active RM,ZKFC负责监控RM的状态并触发切换。备RM升主后,能够恢复故障发生时上层应用运行的状态。

        在大数据环境中,高可用性是一个至关重要的设计目标。通过采用主备切换、冗余存储、分布式部署、弹性伸缩和负载均衡等技术手段,可以确保大数据系统的各个关键部分都具备高可用性,从而在面对故障时能够持续、稳定地运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/34198.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SFT数据处理部分的思考

SFT数据及处理的业内共识 1.prompt的质量和多样性远重要于数据量级,微调一个 30 b 量级的base model只需要 10 w 量级的数据即可 参考:《LIMA:Less Is More for Alignment》 2.合成数据很重要!一般需要通过…

Python(学习一)

做网站有成熟的框架像FLASK、DJANGO、TORNADO,写爬虫有好用到哭的REQUESTS,还有强大到没盆友的SCRAPY 随着NUMPY、SCIPY、MATLOTLIB等众多第三方模块的开发和完善,不仅支持py支持各种数学运算,还可以绘制高质量的2D和3D图像&…

ArcGIS Pro将有文字标注底图切换为无标注底图(在线地图图源)

今天介绍一下在ArcGIS Pro将有标注的地形底图换成无标注的底图。 大家在这项目底图时候会经常调用ArcGIS Pro自带的地形图,但是这个地形图自带是有注记的,如下图。 如何更改,才可以调用无文字注记的呢? 对于一个已经切好图的有注记…

Linux第三次练习

1、创建根目录结构中的所有的普通文件 首先在根目录下面新创建一个test目录,然后将查找到的普通文件新建到test目录下 2、列出所有账号的账号名 3、将/etc/passwd中内容按照冒号隔开的第三个字符从大到小排序后输出所有内容 4、列出/etc/passwd中的第20行-25行内容…

[CISCN 2022 初赛]ezpop(没成功复现)

打开在线环境可以看到&#xff1a; 记得之前做过一个类似的就是有点像照着漏洞去复现。应该可以直接在网上找到链子去打。 www.zip查看路由是 Index/test&#xff0c;然后 post 传参 a&#xff1a; exp&#xff08;参考了别的大神的wp&#xff09;&#xff1a; <?php //…

技术-NBIOT

是什么&#xff1f; 窄带物联网&#xff08;Narrow Band Internet of Things, NB-IoT&#xff09;成为万物互联网络的一个重要分支支持低功耗设备在广域网的蜂窝数据连接&#xff0c;也被叫作低功耗广域网(LPWAN)NB-IoT支持待机时间长、对网络连接要求较高设备的高效连接NB-Io…

Spring @Bean注解使用场景二

bean:最近在写一篇让Successfactors顾问都能搞明白的sso的逻辑的文章&#xff0c;所以一致在研究IAS的saml2.0的协议&#xff0c;希望用代码去解释SP、idp的一些概念&#xff0c;让顾问了解SSO与saml的关系&#xff0c;在github找代码的时候发现一些代码的调用关系很难理解&…

pip install和conda install的区别

这里写目录标题 一、什么是 Python 依赖&#xff08;Python Dependencies&#xff09;&#xff1f;1. 依赖的作用2. 如何管理 Python 依赖3. 依赖管理问题4. 依赖锁定总结 二、使用pip安装包venv隔离环境方法 1&#xff1a;使用 venv&#xff08;推荐&#xff09;创建虚拟环境激…

R语言高效数据处理-自定义EXCEL数据排版

注&#xff1a;以下代码均为实际数据处理中的笔记摘录&#xff0c;所以很零散 1、自定义excel表数据输出格式、布局 在实际数据处理中为了提升效率&#xff0c;将Excel报表交付给需求方时减少手动调整的环节很有必要 #1.1设置表头格式 header_style <- createStyle(font…

Word 小黑第4套

对应大猫41 上下日期是一起变动的&#xff0c;删掉第一个&#xff0c;第二个日期格式&#xff08;文件 -选项 -自定义功能区 -选上开发工具&#xff09; 点开发工具 -属性 选择相应的日期格式&#xff09; 修改标题样式时&#xff0c;标题三只有点标题二时才会显示 右击正文样…

酒店宾馆IPTV数字电视系统:创新宾客体验,引领智慧服务新潮流

酒店宾馆IPTV数字电视系统&#xff1a;创新宾客体验&#xff0c;引领智慧服务新潮流 北京海特伟业科技有限公司任洪卓于2025年3月15日发布 随着智慧酒店的不断发展&#xff0c;宾客对于酒店内的娱乐和信息服务需求日益多样化&#xff0c;传统的电视服务已难以满足现代宾客的高…

jupyter无法转换为PDF,HTMLnbconvert failed: Pandoc wasn‘t found.

无法转为PDF 手动下载工具 https://github.com/jgm/pandoc/releases/tag/3.6.3 似乎跟我想的不大一样&#xff0c;还有新的报错 https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex 不知道下的啥玩意儿 sudo apt-get install texlive-xetex texlive-fon…

如何在 VS编译器上使用 C99规定的变长数组------使用Clang工具

VS编译器默认处理代码的工具是 MSVC&#xff0c;而MSVC工具是无法处理变长数组的&#xff0c;这个时候我们就要换一个处理代码的工具了----Clang 1 int n 9; 2 int arr[n];// 数组长度可以拟定1.打开 Visual Stdudio Intaller 2.点击修改&#xff0c;鼠标下滑找到>>使用…

vue echarts封装使用

echarts 尺寸自动调节 resize.js 柱状图 components/dashboard/lineChart.vue <template><div :class"className" :style"{height:height,width:width}" /> </template><script> import echarts from echarts require(echarts/…

《计算机图形学》第二课笔记-----二维变换的推导

前言&#xff1a;为什么这么突兀的把这一节内容放在了第二课&#xff0c;第一是因为我急于求成&#xff0c;第二是因为这一章节太重要了&#xff0c;这几乎是二维三维变换的最核心的东西&#xff0c;理解了这一章节内容&#xff0c;后面的就会像打通了任督二脉一样&#xff0c;…

OTP单片机调试工具之—单线数据编码

OTP单片机调试工具在实现过程中离不开单线数据的传输&#xff0c;那么使用哪一种方式的数据编码会比较好呢&#xff1f; 我所了解的主要有以下三种&#xff1a; 1.UART&#xff08;串口&#xff09;&#xff0c;这种方式在单片机和pc之间进行传输都非常常见&#xff0c;效率比较…

背诵--2

DAY01 面向对象回顾、继承、抽象类 学习目标 能够写出类的继承格式public class 子类 extends 父类{}public class Cat extends Animal{} 能够说出继承的特点子类继承父类,就会自动拥有父类非私有的成员 能够说出子类调用父类的成员特点1.子类有使用子类自己的2.子类没有使用…

穷举vs暴搜vs深搜vs回溯vs剪枝刷题 + 总结

文章目录 全排列题解代码 子集题解代码 总结 全排列 题目链接 题解 1. 画一颗决策树 2. 全局变量&#xff1a; int[ ][ ] ret&#xff1a;用于存结果的二维数组 int[ ] path&#xff1a;用于存每次路径的答案 bool[ ] check&#xff1a;判断这个数是否已经用过&#xff0c;…

深度学习中学习率调整策略

学习率衰减策略是深度学习优化过程中的一个关键因素&#xff0c;它决定了训练过程中学习率的调整方式&#xff0c;从而影响模型收敛的速度和效果。不同的衰减策略在不同的任务和模型上可能有不同的表现&#xff0c;下面从我用到过的几个衰减策略进行记录&#xff0c;后续慢慢跟…

《Electron 学习之旅:从入门到实践》

前言 Electron 简介 Electron 是由 GitHub 开发的一个开源框架&#xff0c;基于 Chromium 和 Node.js。 它允许开发者使用 Web 技术&#xff08;HTML、CSS、JavaScript&#xff09;构建跨平台的桌面应用程序。 Electron 的优势 跨平台&#xff1a;支持 Windows、macOS 和 Linux…