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利用率相关的统计文件。