本文主要介绍以下几个知识:
一、老的 hadoop框架存在的问题
二、yarn框架的优势
三、yarn框架中几个功能组件介绍
一:老的 hadoop框架存在的问题
首先我们要了解老hadoop框架中任务流程
1:首先用户程序 (JobClient) 提交了一个 job,job 的信息会发送到 Job Tracker 中,Job Tracker 是 Map-reduce 框架的中心,他需要与集群中的机器定时通信 (heartbeat), 需要管理哪些程序应该跑在哪些机器上,需要管理所有 job 失败、重启等操作。
2:TaskTracker 是 Map-reduce 集群中每台机器都有的一个部分,他做的事情主要是监视自己所在机器的资源情况。
3:TaskTracker 同时监视当前机器的 tasks 运行状况。TaskTracker 需要把这些信息通过 heartbeat 发送给 JobTracker,JobTracker 会搜集这些信息以给新提交的 job 分配运行在哪些机器上。
上述框架 简单明了,但是有利就有弊
1:JobTracker 是 Map-reduce 的集中处理点,存在单点故障。
2:JobTracker 完成了太多的任务,造成了过多的资源消耗,当 map-reduce job 非常多的时候,会造成很大的内存开销,潜在来说,也增加了 JobTracker fail 的风险,这也是业界普遍总结出老 Hadoop 的 Map-Reduce 只能支持 4000 节点主机的上限。
3:在 TaskTracker 端,以 map/reduce task 的数目作为资源的表示过于简单,没有考虑到 cpu/ 内存的占用情况,如果两个大内存消耗的 task 被调度到了一块,很容易出现 OOM(out of memory)。
这是几个主要问题,还有就是代码难读什么的(我还没有到那个级别,所以不知道)
二:yarn框架的优势
首先我在网上找了个比较明显的架构流程图
从上图可以看出,新的yarn框架中去掉了 jontrack和tasktrack,取而代之的是 resourceManager、APPmaster和 node mamager。新框架中将jobtrack的两大主要功能 监控和调度一分为二,分别放到单独不同组件中并且进行了分布式布局。
三、yarn框架中几个功能组件介绍
1:ResourceManager 是基于应用程序对资源的需求进行调度的 ; 每一个应用程序需要不同类型的资源因此就需要不同的容器。资源包括:内存,CPU,磁盘,网络等等。从某种意义上讲它就是一个纯粹的调度器,它在执行过程中不对应用进行监控和状态跟踪。同样,它也不能重启因应用失败或者硬件错误而运行失败的任务。
2: NodeManager 是每一台机器框架的代理,是执行应用程序的容器,监控应用程序的资源使用情况 (CPU,内存,硬盘,网络 ) 并且向ResourceManager汇报。
3:ApplicationMaster 的职责是向调度器索要适当的资源容器,运行任务,跟踪应用程序的状态和监控它们的进程,处理任务的失败原因。
总结一下这三个组件:首先 ResourceManager 是一个中心的服务,它做的事情是调度、启动每一个 Job 所属的 ApplicationMaster、另外监控 ApplicationMaster 的存在情况。细心的读者会发现:Job 里面所在的 task 的监控、重启等等内容不见了。这就是 AppMst 存在的原因。ResourceManager 负责作业与资源的调度。接收 JobSubmitter 提交的作业,按照作业的上下文 (Context) 信息,以及从 NodeManager 收集来的状态信息,启动调度过程,分配一个 Container 作为 App Mstr
NodeManager 功能比较专一,就是负责 Container 状态的维护,并向 RM 保持心跳。
ApplicationMaster 负责一个 Job 生命周期内的所有工作,类似老的框架中 JobTracker。但注意每一个 Job(不是每一种)都有一个 ApplicationMaster,它可以运行在 ResourceManager 以外的机器上。
相关推荐
Apache Hadoop YARN:Moving beyond MapReduce and Batch Processing with Apach 2 【yarn权威指南】
Apache Hadoop YARN.pdf完整电子版
赠送jar包:hadoop-yarn-api-2.5.1.jar; 赠送原API文档:hadoop-yarn-api-2.5.1-javadoc.jar; 赠送源代码:hadoop-yarn-api-2.5.1-sources.jar; 赠送Maven依赖信息文件:hadoop-yarn-api-2.5.1.pom; 包含翻译后...
详细介绍Hadoop Yarn的架构以及如何构建Hadoop Yarn。详解介绍如何进行资源调优。
赠送jar包:hadoop-yarn-client-2.6.5.jar; 赠送原API文档:hadoop-yarn-client-2.6.5-javadoc.jar; 赠送源代码:hadoop-yarn-client-2.6.5-sources.jar; 赠送Maven依赖信息文件:hadoop-yarn-client-2.6.5.pom;...
利用Hadoop YARN ResourceManager 未授权访问getshell工具以及WORD说明
详细介绍了Hadoop2.x的资源管理框架yarn,内容丰富,很有帮助。
Hadoop 10周年生日之际,CSDN主办的“Hadoop英雄会——暨Hadoop 10周年生日大趴”,Hulu高级研发工程师董西成介绍了Hadoop YARN程序设计与应用案例。
Apache Hadoop YARN: Moving beyond MapReduce and Batch Processing with Apache Hadoop 2 完整版哦,绝对清晰,不是扫描的mobi格式电子书,请使用电子书库calibre (http://calibre-ebook.com/download) 打开。
hadoop、yarn权威指南 HADOOP权威指南 第3版 PDF电子书下载 带目录书签 完整版
hadoop yarn
hadoop yarn资源论文详情hadoop yarn资源论文详情 yarn的使用
在Linux系统的Centos7安装hadoop2.9.2版本所需配置的yarn-site.xml配置文件
Hadoop2.0YARN
赠送jar包:hadoop-yarn-api-2.5.1.jar; 赠送原API文档:hadoop-yarn-api-2.5.1-javadoc.jar; 赠送源代码:hadoop-yarn-api-2.5.1-sources.jar; 包含翻译后的API文档:hadoop-yarn-api-2.5.1-javadoc-API文档-...
赠送jar包:hadoop-yarn-common-2.6.5.jar 赠送原API文档:hadoop-yarn-common-2.6.5-javadoc.jar 赠送源代码:hadoop-yarn-common-2.6.5-sources.jar 包含翻译后的API文档:hadoop-yarn-common-2.6.5-javadoc-...
软件介绍: ...mobi格式的清晰版Apache Hadoop YARN,这个是高清版不是扫描版的,请使用calibre电子书阅读器进行阅读,具体效果可以查看上面的书籍截图。本书深入讲解hadoop2的原理,很详细值得一读。
赠送jar包:hadoop-yarn-server-web-proxy-2.6.0.jar; 赠送原API文档:hadoop-yarn-server-web-proxy-2.6.0-javadoc.jar; 赠送源代码:hadoop-yarn-server-web-proxy-2.6.0-sources.jar; 赠送Maven依赖信息文件:...