YARN总结

本质思想是将jobtracker资源管理和作业调度分为两个进程。

hadoop1.0

1.客户端向jobtracker发送作业请求
2.jobtracker返回给客户端一个作业id及资源提交路径(包括运行作业需要的jar包,xml文件,及作业分片信息)
3.客户端将资源提交到HDFS指定目录,并将作业提交给jobtracker
4.jobtracker将作业添加到队列,从hdfs获取分片信息,创建task执行列表
5.jobtracker与tasktracker及namenode保持心跳通信,根据tasktracker的资源情况及数据的位置给tasktracker分配任务
6.tasktracker从hdfs获取执行任务需要的资源执行任务,结果汇总提交给jobtracker,jobtracker再返回结果给客户端
1.0 jobtracker既要接收客户端提交的作业,又要对任务进行分配,又要管理tasktracker的资源情况,任务太多易单点故障。

yarn工作机制

1.客户端向ResourceManager提交job,ResourceManager中的ApplicationManager负责接收job请求,返回给客户端一个作业id和资源提交路径
2.ResourceManager的ResourceScheduler找到一个NodeManager创建Container,在Container中启动一个ApplicationMaster,负责任务的调度
3.ApplicationMaster将作业拆分为task,若作业较小,直接在ApplicationMaster当前Container中执行
4.若资源不够,向ResourceManager中的ResourceScheduler申请容器,ResourceScheduler通过心跳返回给ApplicationMaster容器信息
5.ApplicationMaste和容器对应的NodeManager通信,NodeManager创建Container,ApplicationMaster将任务分配给NodeManager
6.NodeManager从hdfs上获取执行任务需要的资源,执行任务,并与ApplicationMaster保持心跳,汇报任务执行情况
7.任务执行完毕,ApplicationMaster向ResourceManager注销

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容