Yarn问答题
一、MR中的一个Job是如何提交的?
提交Job:底层通过submitJobInternal ()方法完成提交
具体步骤:
- 检测输入输出路径合法性
- 路径非法直接抛异常
- 路径合法开始计算文件切片信息
- 计算文件切片信息
- 确定最终开启的MT数量
- 检测是否有分布式缓存文件
- 如果有,设置到Job中
- 将当前运行的jar包、切片信息、配置信息放入临时产生、用于保存job信息的文件夹下
- 准备就绪,提交完成
二、描述一下YARN的工作机制。
(1)MR程序提交到客户端所在的节点。
(2)YarnRunner向ResourceManager申请一个Application。
(3)RM将该应用程序的资源路径返回给YarnRunner。
(4)该程序将运行所需资源提交到HDFS上。
(5)程序资源提交完毕后,申请运行mrAppMaster。
(6)RM将用户的请求初始化成一个Task。
(7)其中一个NodeManager领取到Task任务。
(8)该NodeManager创建容器Container,并产生MRAppmaster。
(9)Container从HDFS上拷贝资源到本地。
(10)MR