distributedShell 样例源码详解

distributedShell 样例源码详解

💡 原文中文,约4000字,阅读约需10分钟。
📝

内容提要

distributedShell是Yarn的应用程序,用于压测Yarn。用户通过初始化Client对象提交作业,核心流程包括连接Yarn、申请AppId和提交作业,作业信息在ApplicationSubmissionContext中配置,AM负责管理作业执行和资源分配。

🎯

关键要点

  • distributedShell是Yarn的应用程序,用于压测Yarn。

  • 用户通过初始化Client对象提交作业,核心流程包括连接Yarn、申请AppId和提交作业。

  • 作业信息在ApplicationSubmissionContext中配置,AM负责管理作业执行和资源分配。

  • 使用示例提供了提交作业的命令。

  • 入口类为org.apache.hadoop.yarn.applications.distributedshell.Client,主类在pom文件中定义。

  • 核心流程包括初始化Client对象、初始化Client和提交作业到Yarn。

  • 初始化阶段包括创建Yarn连接和初始化参数列表。

  • 作业提交前需要向RM申请AppId,作业信息在ApplicationSubmissionContext中设置。

  • AM的核心代码在ApplicationMaster.java中,主要负责与RM和NM的连接。

  • AM启动后需要注册到RM,申请普通Container并启动Container。

延伸问答

distributedShell的主要功能是什么?

distributedShell是Yarn的应用程序,用于对Yarn进行压测。

如何提交作业到Yarn?

用户需要初始化Client对象,连接Yarn,申请AppId,并在ApplicationSubmissionContext中配置作业信息后提交作业。

distributedShell的入口类是什么?

入口类为org.apache.hadoop.yarn.applications.distributedshell.Client。

在初始化Client对象时需要做哪些准备?

初始化Client对象时需要创建Yarn的连接和初始化支持的参数列表。

ApplicationMaster在作业执行中负责什么?

ApplicationMaster负责管理作业执行和资源分配,并与ResourceManager和NodeManager进行连接。

提交作业前需要申请什么?

提交作业前需要向ResourceManager申请AppId。

➡️

继续阅读