監視できるようにすることですSpark 実行メモリではなくストレージメモリ SparkUI。つまり、executionmemory NOT executor memory です。
実行メモリとは:
このリージョンは、シャッフル、結合、ソート、および集計を実行するときに中間データをバッファリングするために使用されます。この領域のサイズは、spark.shuffle.memoryFraction(デフォルト0.2)で設定されます。によると: 統合メモリ管理Spark 1.6
回答を集中的に検索した後、未回答のStackOverflow質問、ストレージメモリのみに関連する回答、またはタイプの曖昧な回答を使用した回答を見つけました。Gangliaを使用します Clouderaコンソールを使用するなど...
Stack Overflowでこの情報を求める要望があるようですが、満足できる回答が1つもありません。 monitoring spark memoryを検索するときのStackOverflowのトップポストをいくつか示します。
Spark Jobs のメモリ使用量の監視
SPARK:上のメモリ消費量を監視する方法Spark cluster?
Spark-実際に使用されたエグゼキューターメモリを監視する
SparkアプリケーションでメモリとCPU使用量を取得する方法
質問
Sparkバージョン> 2.0
Execution memory of Spark job? SparkUIのタブです。はい、またはいいえ。
SparkListeners(@JacekLaskowski?)でそれを実行できますか?history-serverはどうですか?または、唯一の方法は外部ツールを使用することですか?グラファナ、ガングリア、他?外部ツールの場合、チュートリアルをポイントするか、いくつかの詳細なガイドラインを提供していただけますか?
私はこれを見ました SPARK-9103 Sparkのメモリ使用量の追跡 実行メモリを監視することはまだ不可能のようです。また、これは関連があるようです SPARK-23206追加のメモリ調整メトリック 。
しますPeak Execution memory
タスクでの実行メモリの使用/占有の信頼できる見積もりはありますか?たとえば、タスクがピーク時に1 Gbを使用するとステージUIが示しており、エグゼキューターあたり5 cpuがある場合、ステージを完了するには、各エグゼキューターで少なくとも5 Gbの実行メモリが必要であることを意味しますか?
実行メモリを垣間見るために使用できる他のプロキシはありますか?
実行メモリがいつストレージメモリに食い込み始めるかを知る方法はありますか?キャッシュされたテーブルがSparkUIの[ストレージ]タブから消えた場合、または一部のみが残った場合、それは実行メモリによって強制排除されたことを意味しますか?
将来の参考のために自分の質問に答える:
Mesosをクラスターマネージャーとして使用しています。 Mesos UIで、特定のワーカーのすべてのエグゼキューターを一覧表示するページを見つけました。そこには、エグゼキューターのメモリ使用量が表示されています。合計メモリ使用量ストレージ+実行のようです。メモリがいっぱいになるとエグゼキュータが死ぬことがはっきりとわかります。
アクセスするために:
ドライバーについても同様です。フレームワークについては、Spark Cluster
という名前のフレームワークを選択します
この数をプログラムで抽出する方法を知りたい場合は、この質問に対する私の回答をご覧ください。 Mesos Agents Framework Executor Memoryを取得する方法