2016-03-04 187 views
3

有沒有辦法監測Apache Spark的CPU利用率純Spark?Spark CPU利用率監測

Ganglia似乎可以做到這一點。

我想知道Spark內的任何東西(例如,Spark向UI報告的信息或度量信息)是否可以爲您提供像Linux top那樣的核心利用率。不是每個執行程序在特定時間使用多少個內核(coreUsed),而是這些內核的使用情況如何。

回答

2

您在正確的軌道上考慮Ganglia或其他外部監測工具/框架。

星火計劃跟蹤任務/作業進步 ..但不是資源利用率。火花執行器允許任務運行 - 並報告成功/失敗 - 但不自行監視資源利用率。

3

似乎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利用率相關的統計文件。