码迷,mamicode.com
首页 > 其他好文 > 详细

hadoop2.0中yarn的运行原理

时间:2018-06-17 13:36:15      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:res   2.0   app   任务管理器   family   namenode   .com   客户端   MF   

Yarn的简单介绍

         我们知道在离线大数据处理领域中,hadoop是目前无可厚非的处理架构,到目前为止hadoop已经有三个大版本,每个版本下都有架构方面的调整。

         hadoop1.0中有一些弊端,比如hdfs元数据信息保存的单节点故障,并且任务计算框架只能使用mapreduce,而且造成了任务管理器的压力过大,因此在hadoop2.0中加入了yarn资源统一管理的机制,不仅解决了元数据单节点故障问题(双namenode)而且实现了元数据的实时热备(共享机制JournalNode),在hdfsmr之间加入了yarn,统一协调资源。

         在本文中只介绍yarn的运行原理,其他有关知识可以查询相关文档,这里就不多做介绍。

Yarn的运行原理图(此处为截图)

技术分享图片

原理介绍

1.         客户端执行run方法,启动任务,启动过程中会检测相应执行权限请求路径等,若检测失败,则终止后续的执行

2.         第一步检测通过后,向resourcemanager发送请求,并返回任务id,以及任务在hdfs的存放路劲

3.         客户端接收到响应信息后,根据提交路径,将job任务打包上传到hdfs(共享文件系统)

4.         客户端再次向resourcemanager提交job任务(application

5.         Resourcemanager根据任务提交由资源调度器申请一个资源容器container,并由applicationmanager选择一台nodemanager(节点的资源管理器),启动一个与申请大小相同的container,并开启一个applicationmaster(任务的子实例协调管理者)

6.         Appalicationmaster进行任务的初始化

7.         resourcemanager获取执行任务在hdfs的位置,并根据任务信息计算mapreduce的数量

8.         根据初始化和运算结果,Appalicationmaster再根据mapreduce的任务大小依次到resourcemanager申请taskmapreduce)任务需要的container

9.         Applicationmaster申请到container后再次选择一个nodemanager,并发送启动container的指令

10.     Nodemanager收到指令后,启动container并从任务所在的hdfs路劲中获取执行的mapreduce任务

11.     启动jvm虚拟机来执行获取的mapreduce任务

注意:applicationmaster将监听每一个nodemanager执行的情况并随时汇报给resourcemanager,知道最后任务执行完成,将回收所有的资源,如果发现有任务执行失败,则由applicationmaster来协调,减轻了resourcemanager的负担,如果applicationmaster在运行过程中出问题,resourcemanager没有接收心跳后,会再在所有nodemanager节点中选择一个节点来启动applicationmaster来继续工作。

 

以上就是hadoop2.0yarn的运行原理,大家相互学习-------成长从博客开始


hadoop2.0中yarn的运行原理

标签:res   2.0   app   任务管理器   family   namenode   .com   客户端   MF   

原文地址:http://blog.51cto.com/lxqybyq/2130150

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!