- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
YARN应用场景、原理与资源调度;目录;;;YARN产生背景—运维成本与数据共享
运维成本
如果采用“一个框架一个集群”的模式,则可能需
要多个管理员管理这些集群,进而增加运维成本,而共享模式通常需要少数管理员即可完成多个框架的统一管理。
数据共享
随着数据量的暴增,跨集群间的数据移动不仅需花
费更长的时间,且硬件成本也会大大增加,而共享集群模式可让多种框架共享数据和硬件资源,将大大减小数据移动带来的成本。;YARN产生背景—总结
直接源于MRv1在几个方面的缺陷
扩展性受限
单点故障
难以支持MR之外的计算
多计算框架各自为战,数据共享困难
MR:离线计算框架
Storm:实时计算框架
Spark:内存计算框架;目录;;ResourceManager
整个集群只有一个,负责集群资源的统一管理和调度
详细功能
处理客户端请求
启动/监控ApplicationMaster
监控NodeManager
资源分配与调度;整个集群有多个,负责单节点资源管理和使用
详细功能
单个节点上的资源管理和任务管理
处理来自ResourceManager的命令
处理来自ApplicationMaster的命令;每个应用有一个,负责应用程序的管理
详细功能
数据切分
为应用程序申请资源,并进一步分配给内部任务
任务监控与容错;对任务运行环境的抽象
描述一系列信息
任务运行资源(节点、内存、CPU)
任务启动命令
任务运行环境;;YARN容错性
ResourceManager
存在单点故障;
正在基于ZooKeeper实现HA。
NodeManager
失败后,RM将失败任务告诉对应的AM;
AM决定如何处理失败的任务。
ApplicationMaster
失败后,由RM负责重启;
AM需处理内部任务的容错问题;
RMAppMaster会保存已经运行完成的Task,重启后无需重新运行。;双层调度框架
RM将资源分配给AM
AM将资源进一步分配给各个Task
基于资源预留的调度策略
资源不够时,会为Task预留,直到资源充足
与“allornothing”策略不同(ApacheMesos);多类型资源调度
采用DRF算法(论文:“DominantResourceFairness:FairAllocationofMultipleResourceTypes”)
目前支持CPU和内存两种资源
提供多种资源调度器
FIFO
FairScheduler
CapacityScheduler
多租户资源调度器
支持资源按比例分配
支持层级队列划分方式
支持资源??占;支持内存和CPU两种资源隔离
内存是一种“决定生死”的资源
CPU是一种“影响快慢”的资源
内存隔离
基于线程监控的方案
基于Cgroups的方案
CPU隔离
默认不对CPU资源进行隔离
基于Cgroups的方案;支持的语义
请求某个特定节点/机架上的特定资源量
将某些节点加入(或移除)黑名单,不再为自己分配这些节点上的资源
请求归还某些资源
不支持的语义
请求任意节点/机架上的特定资源量
请求一组或几组符合某种特质的资源
超细粒度资源
动态调整Container资源;目录;Map;通用的统一资源管理系统
同时运行长应用程序和短应用程序
长应用程序
通常情况下,永不停止运行的程序
Service、HTTPServer等
短应用程序
短时间(秒级、分钟级、小时级)内会运行结束的程序
MRjob、SparkJob等;;离线计算框架:MapReduce
DAG计算框架:Tez
流式计算框架:Storm
内存计算框架:Spark;离线计算框架MapReduce
将计算过程分为两个阶段,Map和Reduce
Map阶段并行处理输入数据
Reduce阶段对Map结果进行汇总
Shuffle连接Map和Reduce两个阶段
MapTask将数据写到本地磁盘
ReduceTask从每个MapTask上读取一份数据
仅适合离线批处理
具有很好的容错性和扩展性
适合简单的批处理任务
缺点明显
启动开销大、过多使用磁盘导致效率低下等;;多个作业之间存在数据依赖关系,并形成一个依赖关系有向图(DirectedAcyclicGraph),该图的计算称为“DAG计算”
ApacheTez:基于YARN的DAG计算框架
运行在YARN之上,充分利用YARN的资源管理和容错等功能;
提供了丰富的数据流(dataflow)API;
扩展性良好的“Input-Processor-Output”运行时模型;
动态生成物理数据流关系。;;;Tez优化技术
ApplicationMaster缓冲池
作业提交到AMPoolServer服务上
预启动若干个ApplicationM
原创力文档


文档评论(0)