複数のステップを並行して実行する際の考慮事項 - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

複数のステップを並行して実行する際の考慮事項

  • 並行して実行されるステップは任意の順序で完了する可能性がありますが、キューに保留中のステップは、送信された順序で実行状態に移行します。

  • クラスターのステップ同時実行レベルを選択するときは、プライマリノードインスタンスタイプがユーザーワークロードのメモリ要件を満たしているかどうかを考慮する必要があります。メインステップのエグゼキュータープロセスは、各ステップのプライマリノードで実行されます。複数のステップを並行して実行するには、一度に 1 ステップ実行するよりも多くのメモリとプライマリノードからのCPU使用率が必要です。

  • 同時ステップの複雑なスケジューリングとリソース管理を実現するには、 FairSchedulerや などのYARNスケジューリング機能を使用できますCapacityScheduler。たとえば、queueMaxAppsDefault セットで FairScheduler を使用すると、特定の数を超えるジョブが一度に実行されないようにできます。

  • ステップの同時実行レベルは、リソースマネージャの設定によって異なります。例えば、 YARNが の並列処理のみで構成されている場合5、 が に設定されている場合でも、並列で実行できるYARNアプリケーションStepConcurrencyLevelは 5 つのみです10。リソースマネージャーの設定の詳細については、「Amazon EMRリリースガイド」の「アプリケーションの設定」を参照してください。

  • クラスターのステップ同時実行レベルが 1 より大きいCONTINUE間は、 ActionOnFailure以外の でステップを追加することはできません。

  • クラスターのステップ同時実行レベルが 1 より大きい場合、ステップの ActionOnFailure 機能はアクティブになりません。

  • クラスターのステップ同時実行レベルが 1 であるが、複数の実行ステップがある場合、TERMINATE_CLUSTER ActionOnFailure はアクティブにできますが、CANCEL_AND_WAIT ActionOnFailure はできません。このエッジケースは、クラスターステップの同時実行レベルが 1 より大きいが、複数ステップの実行中に下げられたときに発生します。

  • EMR 自動スケーリングを使用すると、YARNリソースの競合を防ぐために、リソースに基づいてスケールアップおよびスケールダウンできます。詳細については、「Amazon EMR 管理ガイド」の「インスタンスグループのカスタムポリシーで自動スケーリングを使用する」を参照してください。

  • ステップの同時実行レベルを減らすと、 EMRはステップ数を減らす前に実行中のステップを完了することを許可します。クラスターで実行されている同時ステップが多すぎるためにリソースがなくなった場合は、実行中のステップを手動でキャンセルして、リソースを解放することをお勧めします。