💡
原文中文,约11100字,阅读约需27分钟。
📝
内容提要
作业启动的核心类为Job.java,入口函数为waitForCompletion。作业通过submit()函数提交,连接ResourceManager并上传文件。YARNRunner.java负责处理作业提交,创建上下文信息并发送请求。MRAppMaster.java初始化作业,创建Job对象并发送事件。作业启动后,调度Map和Reduce任务,最终处理作业的提交与完成。
🎯
关键要点
- 作业启动的核心类为Job.java,入口函数为waitForCompletion。
- 作业通过submit()函数提交,连接ResourceManager并上传文件。
- YARNRunner.java负责处理作业提交,创建上下文信息并发送请求。
- MRAppMaster.java初始化作业,创建Job对象并发送事件。
- 作业启动后,调度Map和Reduce任务,最终处理作业的提交与完成。
- Job.java的submit()函数是作业启动的核心,负责连接ResourceManager和提交作业。
- YARNRunner.java创建上下文信息并提交作业,等待作业启动完成。
- MRAppMaster.java是启动AM的入口,负责初始化作业和发送事件。
- JobImpl对象初始化时,设置线程池和作业状态机。
- 作业初始化成功后,触发作业启动事件,开始执行任务。
- 作业提交后,处理作业的成功与失败,记录作业历史事件。
❓
延伸问答
Job.java的submit()函数有什么作用?
submit()函数负责连接ResourceManager并提交作业,是作业启动的核心部分。
YARNRunner.java在作业启动中扮演什么角色?
YARNRunner.java负责处理作业提交,创建上下文信息并发送请求以启动作业。
MRAppMaster.java的主要功能是什么?
MRAppMaster.java是启动AM的入口,负责初始化作业和发送事件以启动作业。
作业启动后会发生什么?
作业启动后会调度Map和Reduce任务,并处理作业的提交与完成。
JobImpl对象在初始化时做了哪些设置?
JobImpl对象初始化时设置线程池和作业状态机,并注册事件处理器。
作业提交后如何处理成功与失败?
作业提交后会记录作业历史事件,并处理作业的成功与失败情况。
🏷️
标签
➡️