yarn application
命令用于管理和监控 YARN 上运行的应用程序,下面为你详细解释该命令中各参数的含义和用途:
通用参数
-help [command]
- 作用:显示
yarn application
命令的帮助信息。如果指定了command
,则显示该子命令的详细使用说明。 - 示例:
- 显示
yarn application
整体帮助:yarn application -help
- 显示
list
子命令的帮助:yarn application -help list
- 显示
应用程序列表相关参数
-list [-appStates <state1,state2,...>]
- 作用:列出 YARN 上的应用程序。可以使用
-appStates
选项筛选特定状态的应用程序。 - 可指定的状态值:
NEW
:应用程序刚被创建,还未开始保存状态。NEW_SAVING
:应用程序正在保存状态。SUBMITTED
:应用程序已提交到 YARN 调度器,但还未被接受。ACCEPTED
:应用程序已被 YARN 调度器接受,正在等待资源分配。RUNNING
:应用程序正在运行。FINISHED
:应用程序已正常完成。FAILED
:应用程序运行失败。KILLED
:应用程序被手动终止。
- 示例:
- 列出所有应用程序:
yarn application -list
- 列出正在运行和已完成的应用程序:
yarn application -list -appStates RUNNING,FINISHED
- 列出所有应用程序:
-appTypes <type1,type2,...>
- 作用:与
-list
结合使用,用于筛选特定类型的应用程序。例如,Flink 应用程序的类型通常是Apache Flink
,MapReduce 应用程序的类型是MAPREDUCE
。 - 示例:列出所有 Flink 应用程序:
yarn application -list -appTypes Apache Flink
应用程序状态和操作相关参数
-status <applicationId>
- 作用:显示指定
applicationId
的应用程序的详细状态信息,包括应用程序的名称、用户、队列、开始时间、结束时间、状态、诊断信息等。 - 示例:查看
application_1678901234567_0001
的状态:yarn application -status application_1678901234567_0001
-kill <applicationId>
- 作用:终止指定
applicationId
的应用程序。该操作会向 YARN 调度器发送请求,尝试停止正在运行的应用程序。 - 示例:杀死
application_1678901234567_0001
应用程序:yarn application -kill application_1678901234567_0001
-priority <applicationId> <priority>
- 作用:更新指定
applicationId
的应用程序的优先级。优先级是一个整数值,数值越小表示优先级越高。 - 示例:将
application_1678901234567_0001
的优先级设置为 2:yarn application -priority application_1678901234567_0001 2
-moveToQueue <applicationId> <queueName>
- 作用:将指定
applicationId
的应用程序从当前队列移动到指定的queueName
队列中。这可以改变应用程序的资源分配策略。 - 示例:将
application_1678901234567_0001
移动到high_priority_queue
队列:yarn application -moveToQueue application_1678901234567_0001 high_priority_queue
-waitState <applicationId> <state> [-timeout <timeout>]
- 作用:等待指定
applicationId
的应用程序达到指定的state
状态。可以使用-timeout
选项设置最大等待时间(单位为毫秒),如果超过该时间应用程序仍未达到指定状态,则命令会返回。 - 示例:等待
application_1678901234567_0001
达到FINISHED
状态,最多等待 60000 毫秒(即 1 分钟):yarn application -waitState application_1678901234567_0001 FINISHED -timeout 60000
日志相关参数
-logs <applicationId>
- 作用:显示指定
applicationId
的应用程序的日志信息。这些日志包括应用程序的标准输出和标准错误输出。 - 示例:查看
application_1678901234567_0001
的日志:yarn application -logs application_1678901234567_0001