hadoop job -list
似乎只显示 mapreduce 作业,但我的资源管理器 UI 为在 YARN 上运行的所有作业显示诸如“分配的 CPU VCores”和“分配的内存 MB”之类的东西(包括诸如Spark 和 Tez)。
如何通过命令行而不是转到 UI 来获取这些结果?
最佳答案
YARN 支持不同类型的应用程序。 “MapReduce”是YARN支持的一种应用。如果您使用 hadoop job
(已弃用,您应该使用 mapred job
)或 mapred job
,您只能操作 MapReduce 作业。
要查看不同类型应用程序(mapreduce、spark 等)的状态,您应该使用 YARN CLI。
例如"yarn application -list -appStates ALL",列出所有应用的状态。此命令的输出包含一列 “Application-Type”,它指示应用程序的类型(例如,用于 MapReduce 应用程序的 MAPREDUCE)。
您可以获得有关应用程序、应用程序尝试、容器等的详细信息。此处提供了 2.7.1 版 Hadoop 的命令:https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YarnCommands.html .
但是,这些命令不会通过 CLI 返回“分配的 CPU VCores”和“分配的内存 MB”等详细信息。
yarn application -status {Application ID}
命令以 “MB 秒” 和 的形式返回 “聚合资源分配”>“vcore-seconds”
例如-status
我的一个应用程序被返回:
聚合资源分配:12865641 MB 秒,1041 vcore 秒
关于hadoop - 用于获取正在运行的应用程序使用的容器和 vcore 数量的 YARN shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33174401/