0

いくつかの Spark ジョブのプロファイリングを試みていましたが、各エグゼキュータから Java Flight Recorder (JFR) ファイルを収集したいと考えています。複数のノードを持つ YARN クラスターでジョブを実行しているため、実行ごとに手動で JRF ファイルを収集できません。特定のジョブのためにクラスター内の各ノードから JFR ファイルを収集できるスクリプトを作成したいと考えています。

MR は、各タスクによって生成された JFR ファイルに taskId で名前を付ける方法を提供します。Java opts の「@task@」を TaskId に置き換えます。これにより、各タスクによって作成された JFR ファイルの一意の名前を取得できます。また、TaskId には JobId も含まれているため、それを解析して、さまざまな MR ジョブによって生成されたファイルを区別できます。

Sparkに似たようなものがあるかどうか疑問に思っています。Spark は Java opts で executorId を決定する方法を提供しますか? 他の誰かが同様のことを試みて、Spark ジョブのすべての JFR ファイルを収集するより良い方法を見つけましたか?

4

2 に答える 2

0

opts でエグゼキュータ ID を設定することはできませんが、イベント ログからエグゼキュータ ID とそれを保持するスレーブ ノードを取得できます。

ただし、ヤーン マスターとスタンドアロンの spark-submit に指定したオプションは、エグゼキューター JVM に同じ効果があると信じているので、問題ないはずです!

于 2015-11-05T03:41:24.453 に答える