Amazon EMR クラスタースケーリングを使用してワークロードの変化に適応する
需要が変動するワークロードに応じて、Amazon EMR クラスターで使用できる Amazon EC2 インスタンスの数を自動または手動で調整できます。自動スケーリングを使用するには、2 つのオプションがあります。Amazon EMR Managed Scaling を有効にすることも、カスタムの自動スケーリングポリシーを作成することもできます。以下の表では、2 つのオプションの違いについて説明しています。
Amazon EMR Managed Scaling | カスタム自動スケーリング | |
---|---|---|
スケーリングポリシーとルール |
ポリシーは必要ありません。Amazon EMR は、クラスターメトリクスを継続的に評価し、最適化されたスケーリング決定を行うことにより、自動スケーリングアクティビティを管理します。 |
スケーリングアクティビティ、評価期間、クールダウン期間をトリガーする特定の条件などの、自動スケーリングポリシーとルールを定義して管理する必要があります。 |
サポートされている Amazon EMR リリース |
Amazon EMR バージョン 5.30.0 以降 (Amazon EMR バージョン 6.0.0 を除く) |
Amazon EMR バージョン 4.0.0 以降 |
サポートされているクラスター構成 |
インスタンスグループまたはインスタンスフリート |
インスタンスグループのみ |
スケーリング制限の設定 |
スケーリング制限は、クラスター全体に対して設定されます。 |
スケーリング制限は、各インスタンスグループに対してのみ設定できます。 |
メトリクス評価頻度 |
5 ~ 10秒ごと メトリクスの評価を頻繁に行うことで、Amazon EMR によるスケーリング決定の精度が高くなります。 |
評価期間は 5 分単位でのみ定義できます。 |
サポートされているアプリケーション |
Spark、Hadoop、Hive、Flink などの YARN アプリケーションのみがサポートされています。Amazon EMR Managed Scaling は、Presto や HBase などの YARN に基づいていないアプリケーションをサポートしていません。 |
自動スケーリングルールを定義するときに、サポート対象とするアプリケーションを選択できます。 |
考慮事項
-
Amazon EMR クラスターは、常に 1 つまたは 3 つのプライマリノードで構成されます。クラスターを最初に設定すると、コアノードとタスクノードのみをスケールできます。クラスターのプライマリノードの数をスケールすることはできません。
-
インスタンスグループの場合、再設定操作とサイズ変更操作は同時ではなく順番に行われます。インスタンスグループのサイズ変更中に再設定を開始すると、インスタンスグループで実行中のサイズ変更が完了次第、再設定が開始されます。逆も同様で、インスタンスグループの再設定中にサイズ変更操作を開始すると、再設定後にサイズ変更が開始されます。