如何获取 Spark 应用程序的内存和 cpu 使用情况?

How to get memory and cpu usage by a Spark application?

我想获取 Spark 作业的平均资源利用率以进行监控,如何轮询资源,即 cpu 和 Spark 应用程序的内存利用率。?

您可以检查 stderr 日志以了解已完成的 Spark 应用程序。 转到纱线资源管理器。单击应用程序 ID,然后单击 appattempt_* 行右侧的 "Logs"。 滚动到日志 Type:stderr 并单击 "Click here for the full log"。在日志中查看类似这样的内容:

"yarn.YarnAllocator: Will request 256 executor containers, each with 5 cores and 8576 MB memory including 384 MB overhead"

您必须从 YARN 中提取日志

命令行: yarn application -logs {YourAppID} 你可以从spark作业的堆栈或yarn application -list命令或UI 也。更多关于 yarn 命令的信息是 here

FROM UI : 如果您使用的是 Cloudera,您可以从 http://${LOCALHOST}:7180/cmf/services/17/applications 看到您可以使用 http://${LOCALHOST}:8088/cluster