ノードグループは、Alibaba Cloud E-MapReduce (EMR) のクラスター内のノードを管理するための基本単位です。各ノードグループは、Elastic Compute Service (ECS) インスタンスで構成され、通常は同一のインスタンスタイプを共有します。これにより、ノードを一括管理でき、単一のクラスター内でワークロードに応じた構成を混在させることができます。たとえば、オフラインでのビッグデータ処理にはメモリ最適化インスタンス(1 vCPU:8 GiB)を、モデルトレーニングにはコンピューティング最適化インスタンス(1 vCPU:2 GiB)を使用します。
Hadoop、Data Science、および EMR Studio クラスターにおけるノードグループ管理については、「ノードグループの管理(Hadoop、Data Science、EMR Studio クラスター)」をご参照ください。
制限事項
-
本トピックで説明する操作は、DataLake、DataFlow、OLAP、DataServing、およびカスタムクラスターにのみ適用されます。
-
従量課金またはスポットインスタンスの課金方法で作成されたタスクノードグループは、構成のアップグレードがサポートされていません。詳細については、「ノード構成のアップグレード」をご参照ください。
ノードグループの追加
ステップ 1:[ノード] タブに移動
-
EMR コンソールにログインします。左側のナビゲーションウィンドウで、ECS 上の EMR をクリックします。
-
上部のナビゲーションバーで、ご利用のクラスターが配置されているリージョンを選択し、リソースグループを指定します。
-
ECS 上の EMR ページで、対象のクラスターを見つけ、操作 列の ノード をクリックします。
ステップ 2:ノードグループの構成
ノード ページで、ノードグループの追加 をクリックします。ノードグループの追加 パネルで、以下のパラメーターを設定します。
ゾーン
クラスターのゾーンがデフォルトで選択されています。ゾーンの表示 をクリックすると、同一リージョン内の別のゾーンを選択できます。
-
他のゾーンへのタスクノードグループの追加のみが可能です。
-
クロスゾーンのノードグループを追加した後は、YARN Node Label 機能を有効化してクラスターをゾーン単位でパーティション化してください。これにより、シャッフルフェーズなどにおいて、クロスゾーン間のネットワーク帯域幅の分散がタスクパフォーマンスに与える影響を低減できます。詳細については、「Node Label を使用したノードのパーティション化」をご参照ください。
ノードグループの種類
| 種類 | 説明 | 推奨ユースケース |
|---|---|---|
| コア | コアノードグループ | 小~中規模のデータ量:ログ分析、Web トラフィック統計 |
| タスク | タスクノードグループ | 一時的な計算負荷増加:バッチ処理、データクレンジング |
| ゲートウェイ | ゲートウェイノードグループ。DataLake または DataFlow クラスター(EMR V5.10.1 以降)で実行する必要があります。 | 高頻度なジョブ送信:データサイエンティストによるモデルトレーニング、データエンジニアによるパイプライン処理 |
| Master-Extend | ロード拡張グループ。HA クラスター(EMR V3.51.1 以降(V3 ライン)または EMR V5.17.1 以降(V5 ライン))で実行する必要があります。 | マスターノードの負荷が高い大規模クラスター |
スポットインスタンスは、タスクノードグループのみでサポートされます。
Master-Extend ノードグループについて:マスターノードのペイロードが高負荷の場合、マスターノードからサービスをオフロードするために Master-Extend ノードグループを追加します。ただし、Master-Extend ノードグループを作成しても、サービスは自動的にデプロイされません。ノードグループ作成時に、デプロイするサービスを明示的に選択してください。
課金方法
| 課金方法 | 対応するノードグループの種類 |
|---|---|
| 従量課金 | コア、タスク、ゲートウェイ、Master-Extend |
| スポットインスタンス | タスクのみ |
| サブスクリプション | コア、タスク、ゲートウェイ、Master-Extend |
ノードグループ名
クラスター内で一意である必要があります。
コンポーネント
カスタムサービスのデプロイは、Master-Extend ノードグループのみでサポートされます。以下にデプロイ可能なサービスを示します。
-
Hive:HiveMetaStore、HiveServer
-
Kyuubi:KyuubiServer
-
Spark:SparkHistoryServer、SparkThriftServer
パブリックネットワーク IP の割り当て
このオプションを有効化すると、ノードグループ内のすべてのノードがインターネットに接続可能になります。
vSwitch
ノードグループを作成する際に、同一 VPC 内の vSwitch を指定します。
vSwitch はノードグループ作成後に変更できません。また、vSwitch はクラスターと同じゾーンに配置されている必要があります。**[OK]** をクリックする前に、十分に検討してください。
追加のセキュリティグループ
(任意)ノードグループに最大 4 つの追加セキュリティグループを関連付けます。
インスタンスタイプ
-
サブスクリプション:1 種類のインスタンスタイプを選択します。
-
従量課金またはスポットインスタンス(タスクノードグループのみ):vCPU 数およびメモリサイズが同一のインスタンスタイプを最大 10 種類まで選択し、代替オプションとして設定できます。
ストレージ構成
| ディスクタイプ | 選択肢 | サイズ範囲 | 推奨最小値 |
|---|---|---|---|
| システムディスク | ESSD(エンタープライズ SSD)または Ultra ディスク | 60 GiB~500 GiB | 120 GiB |
| データディスク | ESSD(エンタープライズ SSD)または Ultra ディスク | 40 GiB~32,768 GiB | 80 GiB |
ESSD の場合、ディスク容量に基づいてパフォーマンスレベル(PL)を指定します。
-
システムディスク:PL0、PL1、PL2(デフォルト:PL1)
-
データディスク:PL0、PL1、PL2、PL3(デフォルト:PL1)
詳細については、「ディスク」をご参照ください。
リソース予約ポリシー
このパラメーターは、従量課金で課金されるタスクノードグループにのみ利用可能です。
ご利用のプライベート ECS 容量プールを関連付けます。容量を予約するには、まず ECS コンソールにアクセスしてください。詳細については、「Resource Butler の概要」をご参照ください。
| オプション | 動作 |
|---|---|
| パブリックプールのみ(デフォルト) | リクエストをパブリックリソースプールから直接満たします |
| プライベートプールを優先 | まず指定したプライベートプールからリソースを確保します。プライベートプールに空きがない場合は、パブリックプールにフォールバックします |
| 指定したプライベートプール | ノードグループを特定のプライベートプールに固定します |
自動補償
このパラメーターは、タスクノードグループにのみ利用可能です。
有効化すると、EMR がノードを継続的にモニターします。異常なノードを検出した場合、EMR はそのノードを解放し、同数の代替ノードを自動的にスケールアウトします。詳細については、「ノード補償」をご参照ください。
スケーリングポリシー
このパラメーターは、課金方法がスポットインスタンスに設定されている場合にのみ利用可能です。
スポット容量の変動に応じて、EMR がインスタンスをプロビジョニングおよび再取得する方法を制御します。ご要件に応じて、以下のポリシーから選択してください。
| ポリシー | 利用シーン | 動作 |
|---|---|---|
| 優先度ベースのポリシー(デフォルト) | コストよりもインスタンスタイプの一貫性が重要である場合 | スケールアウト時、システムはリスト順にインスタンスタイプを試行し、いずれかが成功するまで続けます。最終的なインスタンスタイプは在庫状況によって異なる場合があります。 |
| コスト最適化ポリシー | コスト削減が最優先であり、インスタンスタイプの変動を許容できる場合 | スケールアウト時、Auto Scaling は vCPU 単位価格の昇順でインスタンスを作成します。スケールイン時、vCPU 単位価格の降順でインスタンスを削除します。スポットインスタンスが在庫不足または価格しきい値の制約により作成できない場合、システムは従量課金インスタンスにフォールバックします。 |
コスト最適化に関する詳細なパラメーターについては、「コスト最適化モード」をご参照ください。
グレースフルシャットダウン
このパラメーターは、YARN がデプロイされたクラスターにのみ利用可能です。
有効化すると、EMR はノードのスケールイン前に、そのノード上で実行中のタスクが完了するのを待機します(またはタイムアウトが発生するまで待機します)。タイムアウト値は、YARN サービスページの yarn.resourcemanager.nodemanager-graceful-decommission-timeout-secs パラメーターで設定します。
ステップ 3:確認
OK をクリックします。ノードグループは作成後に、ノード ページに表示されます。
ノードグループの変更
-
ノード ページで、対象のノードグループの ノードグループ名 をクリックします。
-
ノードグループ属性 ダイアログボックスでパラメーターを変更し、保存 をクリックします。
変更可能な属性は、ノードグループの種類によって異なります。
| ノードグループの種類 | 変更可能な属性 |
|---|---|
| Master、コア、ゲートウェイ、Master-Extend | ノードグループ名、追加のセキュリティグループ |
| タスク | ノードグループ名、ノードスペック、追加のセキュリティグループ、および 詳細情報 セクション内の設定 |
ノードグループの削除
タスクまたはコアノードグループを削除するには、その操作ステータスが実行中であり、ノード数が0である必要があります。
-
ノード ページで、対象のノードグループを見つけ、操作 列の ノードグループの削除 をクリックします。
-
ダイアログボックスで、削除 をクリックします。
コスト最適化モード
このモードは、[Task] ノードグループを追加し、[プリエンプティブルインスタンス] 課金方法を指定する場合にのみ利用可能です。
コスト最適化モードでは、コストと安定性のバランスを取るための詳細なポリシーを定義できます。
| パラメーター | 説明 |
|---|---|
| Auto Scaling グループ内の最小従量課金ノード数 | Auto Scaling グループ内に確保する最小従量課金インスタンス数です。現在の数がこの値を下回った場合、まず従量課金インスタンスがプロビジョニングされます。 |
| 従量課金インスタンスの割合 | 最小数が満たされた後に作成する従量課金インスタンスの割合です。 |
| 最もコストが低いインスタンスタイプ | 使用する最もコストの低いインスタンスタイプの数(最大:3)。スポットインスタンスは、選択されたタイプ間で均等に配分されます。 |
| プリエンプティブインスタンスの補償 | 有効化すると、システムはスポットインスタンスが再取得される約 5 分前に、積極的に代替インスタンスに置き換えます。 |
| スポットインスタンスが不足した場合に従量課金インスタンスを使用 | 有効化すると、価格または在庫の制約によりスポット容量が確保できない場合、不足分を従量課金インスタンスで補います。 |
一般型 vs. 混合インスタンス型のスケーリンググループ
最小従量課金ノード数、従量課金インスタンスの割合、最もコストの低いインスタンスタイプ数 の各パラメーターを設定するかどうかによって、スケーリンググループのタイプが決まります。
-
一般型のコスト最適化スケーリンググループ:すべてのパラメーターを未設定のままにします。
-
混合インスタンス型のコスト最適化スケーリンググループ:すべてのパラメーターを設定します。これにより、オンデマンド/スポットの比率をより細かく制御できます。
両タイプとも、インターフェイスおよび機能面で完全に互換性があります。一般型のスケーリンググループの動作を再現したい場合は、混合インスタンス型の設定を活用してください。
| 目的 | 最小従量課金ノード数 | 従量課金インスタンスの割合 | 最低コストのインスタンスタイプ |
|---|---|---|---|
| 従量課金インスタンスのみを実行 | 0 |
100 |
1 |
| スポットインスタンスを優先し、不足分を従量課金インスタンスで補う | 0 |
0 |
1 |
次のステップ
-
ノードグループのスケールアウト:「EMR クラスターのスケールアウト」
-
ノードグループのスケールイン:「クラスターのスケールイン」
-
ディスク容量の拡張:「ディスクの拡張」
-
自動スケーリングルールの設定:「カスタム自動スケーリングルールの設定」
-
スケーリング履歴の表示:「自動スケーリングアクティビティの表示」