いくつかの 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 ファイルを収集するより良い方法を見つけましたか?