日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Spark Metrics配置详解

發布時間:2024/1/23 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spark Metrics配置详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
和Hadoop類似,在 Spark中也存在很多的Metrics配置相關的參數,它是基于Coda Hale Metrics Library的可配置Metrics系統,我們可以通過配置文件進行配置,通過 Spark的Metrics系統,我們可以把 Spark Metrics的信息報告到各種各樣的Sink,比如HTTP、JMX以及CSV文件。

  Spark的Metrics系統目前支持以下的實例:
  (1)、master:Spark standalone模式的master進程;
  (2)、worker:Spark standalone模式的worker進程;
  (3)、executor:Spark executor;
  (4)、driver:Spark driver進程;
  (5)、applications:master進程里的一個組件,為各種應用作匯報。

  在Spark的Metrics系統主要支持Sink和Source兩種,其中,Sink指定metrics信息發送到哪里,每個instance可以設置一個或多個Sink(這點和Flume很類似)。Sink的源碼位于org.apache.spark.metrics.sink包中;而Source也是指信息的來源,它主要分為兩大類:
  (1)、Spark內部source,比如MasterSource、WorkerSource等,它們會接收Spark組件的內部狀態;
  (2)、通用source,如:JvmSource,它收集低級別的狀態。

文章目錄

  • 1 支持的Sink類別
    • 1.1 ConsoleSink
    • 1.2 CSVSink
    • 1.3 JmxSink
    • 1.4 MetricsServlet
    • 1.5 GraphiteSink
    • 1.6 GangliaSink
  • 2 如何使用
    • 2.1 實例

支持的Sink類別

ConsoleSink

  ConsoleSink是記錄Metrics信息到Console中。

名稱默認值描述
classorg.apache.spark.metrics.sink.ConsoleSinkSink類
period10輪詢間隔
unitseconds輪詢間隔的單位

CSVSink

定期的把Metrics信息導出到CSV文件中。

名稱默認值描述
classorg.apache.spark.metrics.sink.CsvSinkSink類
period10輪詢間隔
unitseconds輪詢間隔的單位
directory/tmpCSV文件存儲的位置

JmxSink

可以通過JMX方式訪問Mertics信息

名稱默認值描述
classorg.apache.spark.metrics.sink.JmxSinkSink類

MetricsServlet

名稱默認值描述
classorg.apache.spark.metrics.sink.MetricsServletSink類
pathVARIES*Path prefix from the web server root
samplefalseWhether to show entire set of samples for histograms ('false' or 'true') |

這個在Spark中默認就開啟了,我們可以在4040端口頁面的URL后面加上/metrics/json查看

GraphiteSink

名稱默認值描述
classorg.apache.spark.metrics.sink.GraphiteSinkSink類
hostNONEGraphite服務器主機名
portNONEGraphite服務器端口
period10輪詢間隔
unitseconds輪詢間隔的單位
prefixEMPTY STRINGPrefix to prepend to metric name

GangliaSink

由于Licene的限制,默認沒有放到默認的build里面,如果需要使用,需要自己編譯(這個會在后面專門介紹)

名稱默認值描述
classorg.apache.spark.metrics.sink.GangliaSinkSink類
hostNONEGanglia 服務器的主機名或multicast group
portNONEGanglia服務器的端口
period10輪詢間隔
unitseconds輪詢間隔的單位
ttl1TTL of messages sent by Ganglia
modemulticastGanglia網絡模式('unicast' or 'multicast')

如何使用

  在Spark安裝包的$SPARK_HOME/conf路徑下有個metrics.properties文件(如果不存在,請將metrics.properties.template重命名為metrics.properties即可),Spark啟動的時候會自動加載它。

  當然,如果想修改配置文件位置,我們可以使用-Dspark.metrics.conf=xxx進行修改。

實例

  下面我將簡單地介紹如何使用Spark Metrics。我只想簡單地開啟ConsoleSink,我們可以如下配置:

*.sink.console.class=org.apache.spark.metrics.sink.ConsoleSink *.sink.console.period=10 *.sink.console.unit=seconds

period是ConsoleSink的輪詢周期,unit是ConsoleSink的輪詢周期時間單位。上面是配置所有的實例,如果想單獨配置可以如下:

master.sink.console.class=org.apache.spark.metrics.sink.ConsoleSink master.sink.console.period=15 master.sink.console.unit=seconds

這個配置可以覆蓋通用配置符(也就是上面的*號)

我們為master、worker、driver和executor開啟jvm source,如下:

master.source.jvm.class=org.apache.spark.metrics.source.JvmSource worker.source.jvm.class=org.apache.spark.metrics.source.JvmSource driver.source.jvm.class=org.apache.spark.metrics.source.JvmSource executor.source.jvm.class=org.apache.spark.metrics.source.JvmSource

  當然,我們還可以自定義Source,這個需要繼承自org.apache.spark.metrics.source.Source類。關于如何自定義Source,我這里不介紹了,需要的同學可以去參照Spark源碼,比如JvmSource類的實現。

總結

以上是生活随笔為你收集整理的Spark Metrics配置详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。