首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
大数据
›
数据仓库与分析
›
【大数据】Hadoop 2.X和1.X升级优化对比
返回列表
发新帖
【大数据】Hadoop 2.X和1.X升级优化对比
[复制链接]
发表于 2026-2-26 07:49:56
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
目次
1.媒介
2.hadoop 1.X的缺点和优化方向
3.办理NameNode的范围性
3.1.Hadoop HA
3.2.Haddop federation
4.yarn
5.周边组件
1.媒介
本文是作者大数据系列中的一文,专栏地点:
https://blog.csdn.net/joker_zjn/category_12631789.html?spm=1001.2014.3001.5482
前文中我们从大数据的概论入手、分别聊了分布式文件体系的鼻祖GFS、分布式
数据库
的鼻祖Big Table、hadoop中的分布式文件体系HDFS、盘算引擎Map Reduce、分布式
数据库
HBase。以上关于Hadoop的内容都是基于hadoop 1.X来聊的,Hadoop 1.X作为推出的第一个
版本
颠末实战的查验发现另有诸多很须要优化的地方,本文就会来聊一下hadoop 2.X中对hadoop 1.X做了哪些优化。
2.hadoop 1.X的缺点和优化方向
hadoop1.0
版本
有几个待优化点:
NameNode是单节点的,
存储
上会有上限,容错上也会有范围性。
抽象条理低,须要大量的底层操纵,即大量指令操纵、大量
代码
编写。
盘算引擎有范围性限
mapreduce能办理的题目有限
资源使用率地,由于没有很好的资源调治机制,而是大略的将差别作业之间的资源直接相互独立开来,会导致各个job的资源只有自己能用,就算已经到了reduce阶段,自身的map资源也不能被别的job用到。
服从很低,MapReduce的单个盘算使命的结果会存入HDFS中,也就是落了磁盘,因此假如是举行迭代盘算(上一个job的输出是下一个job的输入)就要往返读HDFS。
hadoop在2.X
版本
中对这些题目从两方便做了优化:
优化自身的核心组件HDFS、MapReduce
引入别的周边的配套组件,扩展本事
起首是对核心组件的优化:
组件
1.X存在的题目
2.X的改进
HDFS
nameNode存在单点失效题目
引入HDFS HA,对nameNode举行热备
HDFS
定名空间单一无法实现资源隔离
引入HDFS Federation,分出多个定名空间
MapReduce
资源管理、调治服从低
引入单独的资源管理框架YARN
其次是扩展了周边组件,增强了本事:
组件
功能
所办理的题目
pig
用户只须要编写少量语句就能完成盘算使命,省去MapReduce的
代码
编写
抽象条理低
spark
基于内存的盘算框架,比mapreduce快,有良好及时性,迭代盘算快
盘算使命耽误高,不恰当迭代盘算
Tez
支持DAG作业,对作业操纵举行重新分解和组合,镌汰不须要的操纵,相当于对Map Reduce举行过程精简
差别Map Reduce之间存在重复此操纵,拉低了服从
3.办理NameNode的范围性
3.1.Hadoop HA
Hadoop HA属于一种架构,是对Hadoop的程度扩展,用来办理NameNode没有热
备份
的题目。
HA架构中将NameNode分为生动和待命两种状态,生动和待命节点通过共享的
存储
体系来同步元数据信息。就是说生动的把元数据信息及时放到共享
存储
中,待命节点自己去拿,从而做到同步。
至于选哪个作为生动名称节点对外袒露,交给zookeeper就好。
3.2.Haddop federation
Haddop federation属于一种架构,是对Hadoop的垂直扩展,用来办理单节点存储上限的题目,假如名称节点是单节点那么内存会很有范围性,究竟要装入内存的元数据许多。
Hadoop federation将名称节点切分为差别的定名空间(实在就是文件体系路径下的差别的文件夹),一个名称上面有一个大概多个定名空间,差别的名称节点上管理差别的定名空间。
至于客户端怎么访问到自己要的定名空间喃?会在客户端本地提前设置好映射,指定客户端去访问哪些名称节点。
4.yarn
yarn是hadoop 2.X开始引入的资源调治、
监控
框架。
在hadoop 1.X中,Map Reduce干的活儿很杂,既是个资源调治框架,要负责资源调治、使命
监控
、还是个盘算框架,要负责具体的盘算。作为资源调治框架来说,hadoop 1.X的筹划上不太公道,以是hadoop在2.x的时间借偏重构资源调治框架的时间,将资源调治单独拆了出来做成了新的组件——yarn。如许拆之后在hadoop 2.X开始mapreduce就不再负责资源调治,而是一个纯盘算框架。
hadoop 1.X的筹划上那里不公道:
全部资源管理、全部job的使命调治、全部job的使命
监控
都要由jobtracker来负责,压力太大了。就像公司管理一样,全部员工直接对接老板,老板肯定扛不住,分级对接才是正解,老板就能减轻许多压力。每一级对接自己的管理层,管理层再同一对接老板yarn的筹划头脑就是这种分级管理的头脑。
yarn有三大核心组件:
Resource Manager,负责资源管理
Application Master,负责使命调治、使命监控
NodeManager,在具体节点上负责与前两者通讯
Map Reduce 1.X与yarn的组件类比:
三大核心组件怎样共同工作:
ResourceManager (RM):
RM 是全局的资源调治器,负责整个集群的资源管理和分配。
它维护着集群的全局视图,相识全部节点的状态和可用资源。
当应用步伐提交时,RM 启动一个 ApplicationMaster 历程。
RM 与各个 NodeManager 通讯以获取和更新节点状态。
ApplicationMaster (AM):
AM 是每个应用步伐的署理,负责应用步伐的实验逻辑和资源哀求。
应用步伐启动后,AM 会向 RM 申请资源(如内存、CPU 核心等)来运使用命。
AM 和 RM 通过一个协商过程来获取资源,这个过程大概是基于优先级或公平共享的战略。
一旦得到资源,AM 会将这些资源进一步分别为更小的单元,即 Containers。
NodeManager (NM):
NM 是每个节点上的署理,它负责管理该节点上的资源和
容器
实例。
NM 向 RM 陈诉节点的资源使用情况和康健状态。
当 AM 哀求资源时,RM 将资源分配给 NM,然后 NM 根据指示启动
容器
。
NM 监控
容器
的生命周期,包罗启动应用步伐的使命,监控资源使用,以及在使命完成或失败时清算资源。
Container:
Container 是 YARN 中资源分配的根本单元,它包罗了肯定量的 CPU、内存和其他资源。
AM 会将使命分解为多个小使命,并在多个 Container 中运行这些使命。
AM 直接与 NM 通讯来启动和制止 Container,以及监控使命的进度和状态。
5.周边组件
关于2.X中新引入的组件这里不做扩展,只是大概说一下引入了些什么东西、办理了些什么题目,后续聊到干系组建的时间会细聊。
2.X引入的周边组件重要是围绕封装操纵和扩展盘算引擎来的,寻求用更方便的方式来访问存储和编写盘算使命,以及支持更多范例的盘算引擎来应对差别的场景。
pig用pig latin语言来封装了Map Reduce,以便我们镌汰
代码
的编写:
tez用DAG作业的方式来优化了Map Reduce过程,进步了Map Reduce的实验服从:
至于spark盘算引擎,接下来的文章会详聊,敬请等待。
回复
使用道具
举报
返回列表
浏览过的版块
Java
DevOps与敏捷开发
人工智能
鸿蒙
网络安全
Oracle
数据安全
.Net
物联网
汕尾海湾
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表