

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

# Amazon EMR に作業を送信するときに複数のステップを並行して実行する際の考慮事項
<a name="emr-concurrent-steps"></a>

Amazon EMR に作業を送信するときに複数のステップを並行して実行するには、リソース計画とクラスターの動作に関する期待に関する予備的な決定が必要です。これらについて、ここで詳しく説明します。
+ 並行して実行されるステップは任意の順序で完了する可能性がありますが、キューに保留中のステップは、送信された順序で実行状態に移行します。
+ クラスターのステップ同時実行レベルを選択するときは、プライマリノードインスタンスタイプがユーザーワークロードのメモリ要件を満たしているかどうかを考慮する必要があります。メインステップのエグゼキュータープロセスは、各ステップのプライマリノードで実行されます。複数のステップを並行して実行するには、一度に 1 つのステップを実行するよりも、プライマリノードからのメモリと CPU の使用率が増えます。
+ 同時ステップの複雑なスケジューリングとリソース管理を実現するには、`FairScheduler` や `CapacityScheduler` などの YARN スケジューリング機能を使用できます。たとえば、`queueMaxAppsDefault` セットで `FairScheduler` を使用すると、特定の数を超えるジョブが一度に実行されないようにできます。
+ ステップの同時実行レベルは、リソースマネージャの設定によって異なります。たとえば、YARN が `5` の並列処理のみで設定されている場合、`StepConcurrencyLevel` が `10` に設定されていても、並列して実行できる YARN アプリケーションは 5 つだけです。リソースマネージャーの設定に関する詳細は、「*Amazon EMR リリースガイド*」の「[アプリケーションの設定](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html)」を参照してください。
+ クラスターのステップ同時実行レベルが 1 より大きいときは、CONTINUE 以外の `ActionOnFailure` を使用してステップを追加することはできません。
+ クラスターのステップ同時実行レベルが 1 より大きい場合、ステップの `ActionOnFailure` 機能はアクティブになりません。
+ クラスターのステップ同時実行レベルが `1` であるが、複数の実行ステップがある場合、`TERMINATE_CLUSTER ActionOnFailure` はアクティブにできますが、`CANCEL_AND_WAIT ActionOnFailure` はできません。このエッジケースは、クラスターステップの同時実行レベルが 1 より大きいが、複数ステップの実行中に下げられたときに発生します。
+ EMR 自動スケーリングを使用し、YARN リソースに基づいてスケールアップおよびスケールダウンして、リソースの競合を防止できます。詳細については、「*Amazon EMR 管理ガイド*」の「[Using automatic scaling with a custom policy for instance groups](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html)」を参照してください。
+ ステップの同時レベルを下げると、EMR で、ステップ数を減らす前に実行中のすべてのステップを完了できます。クラスターで実行されている同時ステップが多すぎるためにリソースがなくなった場合は、実行中のステップを手動でキャンセルして、リソースを解放することをお勧めします。