Spark Metrics配置の詳細

5016 ワード

Hadoopと似ています.
Sparkにも多くのMetrics構成に関するパラメータが存在します.これはCoda Hale Metrics Libraryに基づく構成可能なMetricsシステムです.プロファイルを通して構成できます.
SparkのMetricsシステムは、HTTP、JMX、CSVファイルなど、Spark Metricsの情報を様々なSinkに報告することができます.
SparkのMetricsシステムは現在以下の例をサポートしています.(2)、work:Spark standowneモードのworkプロセス;(3)、exector:Spark exector;(4)、driver:Spark driverプロセス;(5)、appications:masterプロセスの一つのコンポーネントは、各種アプリケーションについて報告します.
SparkのMetricsシステムでは、主にSinkとSourceの両方をサポートしています.ここで、Sinkはmetrics情報をどこに送信するかを指定しています.各instanceは一つ以上のSinkを設定することができます.Sinkのソースコードはorg.apache.spark.metrics.sinkカバンの中にあります.Sourceも情報の源であり、(1)、Spark内部source、例えばMaster Source、Work Sourceなどの二つの種類に分けられています.これらはSparkコンポーネントの内部状態を受信します.(2)、JvmSourceなどの汎用sourceは、低レベルの状態を収集しています.
サポートするSinkカテゴリ
Cosolie Sink
Consolie SinkはMetrics情報をコンサートに記録しています.
名前
標準値
説明
クラス
org.apache.spark.metrics.sink.sonine soreSink
Sink類
period
10
ポーリングの間隔
ユニット
seconds.
ポーリング間隔の単位
CSVSS
定期的にMetrics情報をCSVファイルにエクスポートします.
名前
標準値
説明
クラス
org.apache.spark.metrics.sink.cv Sink
Sink類
period
10
ポーリングの間隔
ユニット
seconds.
ポーリング間隔の単位
ディレクトリー
//tmp
CSVファイル格納の位置
JmxSink
JMX方式でMertics情報にアクセスできます.
名前
標準値
説明
クラス
org.apache.spark.metrics.sink.JmxSink
Sink類
Metrics Servlet
名前
標準値
説明
クラス
org.apache.spark.metrics.sink.Metrics Servlet
Sink類
パス
VALRIES*
Path prefix from the web server root
sample
false
Whether to show entire set of samples for histograms('false'or'true')|
これはSparkでデフォルトでオープンしました.4040ポートのページのURLの後ろに/metrics/jsonチェックすることができます.
GrapheSink
名前
標準値
説明
クラス
org.apache.spark.metrics.sink.GrapheSink
Sink類
ホスト
NONE
Graphhiteサーバ本体名
ポーター
NONE
Graphhiteサーバポート
period
10
ポーリングの間隔
ユニット
seconds.
ポーリング間隔の単位
prefix
EMPTY STRING
Prefix to prepend to metric name
Ganglia Sink
Liceneの制限のため、デフォルトはデフォルトのbuildに入れられていません.使用する必要があれば、自分でコンパイルする必要があります.
名前
標準値
説明
クラス
org.apache.spark.metrics.sink.GangliaSink
Sink類
ホスト
NONE
Gangliaサーバのホスト名またはmulticast group
ポーター
NONE
Gangliaサーバのポート
period
10
ポーリングの間隔
ユニット
seconds.
ポーリング間隔の単位
ttl.
1
TTL of message sent by Ganglia
モード
multicast
Gangliaネットワークモード('unicast'or'multicast')
どう使いますか
Sparkにカバンを取り付けた$SPARK_HOME/conf経路の下にあるmetrics.propertiesファイル(存在しない場合はmetrics.properties.template名前を変えてmetrics.propertiesでいいです)は、Sparkが起動すると自動的にロードされます.
もちろん、配置ファイルの位置を変更したいなら、私達は-Dspark.metrics.conf=xxx修正を使ってもいいです.
実例
ここではSpark Metricsの使い方を簡単に紹介します.簡単にオープンしたいのですが、次のような構成ができます.01# User: 02# Date: 2015-05-0503# Time: 01:1604# bolg: http://www.iteblog.com05# :http://www.iteblog.com/archives/134106# , hadoop、hive、spark、shark、flume , 07# :iteblog_hadoop08  09*.sink.console.class=org.apache.spark.metrics.sink.ConsoleSink10*.sink.console.period=1011*.sink.console.unit=secondsperiodはConsolieSinkのポーリングサイクルで、unitはConsolieSinkのポーリングサイクルタイム単位です.上記はすべての構成例です.単独で構成するなら、以下のようにしても良いです.1master.sink.console.class=org.apache.spark.metrics.sink.ConsoleSink2master.sink.console.period=153master.sink.console.unit=secondsこの配置は汎用プロファイル(つまり上の*号)をカバーすることができます.
マスター、ワーカー、driverとexectorのためにjvm sourceを開きます.以下の通りです.01# User: 02# Date: 2015-05-0503# Time: 01:1604# bolg: http://www.iteblog.com05# :http://www.iteblog.com/archives/134106# , hadoop、hive、spark、shark、flume , 07# :iteblog_hadoop08  09master.source.jvm.class=org.apache.spark.metrics.source.JvmSource10worker.source.jvm.class=org.apache.spark.metrics.source.JvmSource11driver.source.jvm.class=org.apache.spark.metrics.source.JvmSource12executor.source.jvm.class=org.apache.spark.metrics.source.JvmSourceもちろん、私達はSourceもカスタマイズできます.これはorg.apache.spark.metrics.source.Source類から継承します.どのようにSourceをカスタマイズするかについては、ここでは紹介しません.必要な学生はSparkのソースコードを参照してください.例えばJvmSource類の実現です.