Spark CPU利用率监测
问题描述:
有没有办法监测Apache Spark的CPU利用率纯Spark??Spark CPU利用率监测
Ganglia似乎可以做到这一点。
我想知道Spark内的任何东西(例如,Spark向UI报告的信息或度量信息)是否可以为您提供像Linux top那样的核心利用率。不是每个执行程序在特定时间使用多少个内核(coreUsed),而是这些内核的使用情况如何。
答
您在正确的轨道上考虑Ganglia或其他外部监测工具/框架。
的星火计划跟踪任务/作业进步 ..但不是资源利用率。火花执行器允许任务运行 - 并报告成功/失败 - 但不自行监视资源利用率。
答
似乎org.wisdom-framework可以提供CPU利用率信息,并且很容易在Spark中添加。检查了这一点:https://github.com/wisdom-framework/wisdom/blob/master/extensions/wisdom-monitor/src/main/java/org/wisdom/monitor/extensions/dashboard/CpuGaugeSet.java
这是我做过什么:
在依赖部分的./core/pom.xml末尾添加以下信息:
<dependency>
<groupId>org.wisdom-framework</groupId>
<artifactId>wisdom-monitor</artifactId>
</dependency>
,并添加这些在./pom.xml依赖性部的端部:
<dependency>
<groupId>org.wisdom-framework</groupId>
<artifactId>wisdom-monitor</artifactId>
<version>0.9.1</version>
</dependency>
注册cpuGaugeSet在组织/阿帕奇/火花/度量/源极/ JvmSource.scala
import org.wisdom.monitor.extensions.dashboard.CpuGaugeSet
metricRegistry.registerAll(new CpuGaugeSet)
再次建立火花。当您通过执行者和驱动程序的指标报告jvm信息时,您会看到三个与CPU利用率相关的统计文件。