このトピックでは、DataLake、Dataflow、オンライン分析処理(OLAP)、DataServing、およびカスタムクラスタのノードグループを作成、変更、および削除する方法について説明します。
背景情報
ノードグループは、E-MapReduce(EMR)クラスタ内のノードを管理するために使用される主要なリソースです。ほとんどの場合、ノードグループは同じインスタンスタイプのElastic Compute Service(ECS)インスタンスで構成されます。ノードグループを使用して、ノードをバッチで管理できます。ビジネス要件に基づいて、各ノードグループのインスタンスタイプを指定できます。たとえば、オフラインのビッグデータジョブを処理するために、メモリ最適化インスタンスで構成されるノードグループを作成できます。また、モデル学習ジョブを実行するために、コンピューティング最適化インスタンスで構成されるノードグループを作成することもできます。メモリ最適化インスタンスのvCPUとメモリ(GiB)の比率は1:8で、コンピューティング最適化インスタンスのvCPUとメモリ(GiB)の比率は1:2です。
Hadoop(従来のデータレイクシナリオ)、Data Science、およびEMR Studioクラスタのノードグループを管理する方法については、「ノードグループの管理(Hadoop、Data Science、およびEMR Studioクラスタ)」をご参照ください。
制限
このトピックは、DataLake、Dataflow、OLAP、DataServing、およびカスタムクラスタにのみ適用されます。
[課金方法] が [従量課金] または [プリエンプティブルインスタンス] であるタスクノードグループは、[構成のアップグレード] 操作をサポートしていません。
構成のアップグレードについては、「ノード構成のアップグレード」をご参照ください。
ノードグループの作成
[ノード]タブに移動します。
EMRコンソール にログインします。左側のナビゲーションウィンドウで、[ECS 上の EMR]をクリックします。
上部のナビゲーションバーで、クラスタが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。
[ECS 上の EMR]ページで、管理するクラスタを見つけ、[操作]列の [ノード] をクリックします。
[ノード] タブで、[ノードグループの追加] をクリックします。
[ノードグループの追加] パネルで、パラメータを構成します。次の表にパラメータを示します。
パラメータ
説明
ゾーン
ノードグループを作成するゾーン。デフォルトでは、クラスタで使用されているゾーンが選択されています。[ゾーンの表示] をクリックしてすべてのゾーンを表示し、ビジネス要件に基づいてゾーンを選択できます。
クラスタで使用されているゾーンとは異なるゾーンを選択した場合、タスクノードグループのみを作成できます。
ゾーンをまたいでタスクノードグループを作成した後、YARN のノードラベル機能を有効にして、クラスタを異なるノードを含む複数のパーティションに分割することをお勧めします。これにより、シャッフルプロセスなどのネットワーク転送の問題によって引き起こされるジョブ効率に対する不安定な帯域幅の影響が軽減されます。詳細については、「ノードラベル機能を使用してパーティションに基づいてノードを管理する」をご参照ください。
ノードグループタイプ
作成できるノードグループのタイプ。有効な値:
CORE(コアノードグループ):ログ分析や Web サイトのトラフィック統計など、データ量が小さいシナリオに適しています。
TASK(タスクノードグループ):バッチ処理タスクやデータクレンジングなど、一時的に追加の計算リソースが必要なシナリオに適しています。
GATEWAY (タスク送信グループ): EMR V5.10.1 以降の DataLake および Dataflow クラスタでのみ使用可能で、データサイエンティストによるモデル学習やデータエンジニアによるデータ処理など、頻繁なタスク送信が必要なシナリオに適しています。
MASTER-EXTEND(負荷拡張グループ):EMR V3.51.1 以降のマイナーバージョン、および EMR V5.17.1 以降のマイナーバージョンの高可用性クラスタでのみ使用可能です。
クラスタのマスターノードの負荷が高い場合は、マスター拡張ノードグループを追加して、異なるノードグループにサービスコンポーネントをデプロイできます。これは、マスターノードの負荷を軽減するのに役立ちます。マスター拡張ノードグループは、クラスタの規模が大きく、マスターノードの負荷が高いシナリオに適しています。
説明クラスタにサービスを追加した後、デフォルトでは、サービスコンポーネントはマスター拡張ノードグループにデプロイされません。サービスのコンポーネントをマスター拡張ノードグループにデプロイする場合は、マスター拡張ノードグループを追加するときに、ビジネス要件に基づいてデプロイするコンポーネントを選択できます。
課金方法
ノードグループの課金方法。サポートされている課金方法は、従量課金、プリエンプティブルインスタンス、およびサブスクリプションです。
説明タスクノードグループのみがプリエンプティブルインスタンスの課金方法をサポートしています。
ノードグループ名
ノードグループの名前。ノードグループの名前は一意である必要があります。
コンポーネント
[ノードグループタイプ]パラメータに[MASTER-EXTEND(負荷拡張グループ)]を選択した場合にのみ、デプロイするサービスのコンポーネントを選択できます。
次のサービスのコンポーネントをデプロイできます。
Hive:HiveMetaStore および HiveServer
Kyuubi:KyuubiServer
Spark:SparkHistoryServer および SparkThriftServer
パブリックネットワーク IP の割り当て
ノードグループのインターネットアクセスを有効にするかどうかを指定します。スイッチをオンにすると、ノードグループ内のすべてのノードがインターネットに接続されます。
vSwitch
現在の仮想プライベートクラウド(VPC)で vSwitch を選択します。ノードグループの作成後、vSwitch を変更することはできません。
説明クラスタと同じゾーンと同じ VPC にデプロイされている vSwitch を選択する必要があります。
追加のセキュリティグループ
オプション。ノードグループを他のセキュリティグループに関連付けます。
このノードグループには、最大 4 つの追加セキュリティグループを関連付けることができます。
インスタンスタイプ
ノードグループのインスタンスタイプ。ビジネス要件に基づいてインスタンスタイプを選択できます。
ノードグループの課金方法がサブスクリプションの場合は、1 つのインスタンスタイプのみを選択できます。
課金方法が従量課金またはプリエンプティブルインスタンスで、ノードグループがタスクノードで構成されている場合は、vCPU とメモリの同じ比率に基づいて最大 10 のインスタンスタイプを選択できます。
ストレージ構成
システムディスク:ビジネス要件に基づいて、拡張 SSD(ESSD)または Ultra ディスクを選択します。有効な値:60 ~ 500。単位:GiB。120 GiB 以上に設定することをお勧めします。
データディスク:ビジネス要件に基づいて、ESSD または Ultra ディスクを選択します。有効な値:40 ~ 32768。単位:GiB。80 GiB 以上に設定することをお勧めします。
説明拡張 SSD を選択した場合は、さまざまなクラスタパフォーマンス要件を満たすために、ディスク容量に基づいて拡張 SSD のさまざまなパフォーマンスレベル(PL)を指定できます。デフォルトのパフォーマンスレベルは PL1 です。システムディスクを構成する場合は、PL0、PL1、および PL2 のパフォーマンスレベルの拡張 SSD を選択できます。データディスクを構成する場合は、PL0、PL1、PL2、および PL3 のパフォーマンスレベルの拡張 SSD を選択できます。詳細については、「ディスク」をご参照ください。
リソース予約ポリシー
説明このパラメータは、[ノードグループタイプ] パラメータを [TASK(タスクノードグループ)] に設定し、[課金方法] パラメータを [従量課金] に設定した場合にのみ使用できます。
ECS プライベートプールをノードグループに関連付ける前に、ECS コンソールに移動してリソース予約を作成します。詳細については、「概要」をご参照ください。
パブリックプールのみ:パブリックリソースプールのリソースが使用されます。これはデフォルト値です。
プライベートプール優先:ECS コンソールでプライベートプールを作成済みで、特定のプロジェクトまたはチームに事前に割り当てられたリソースを使用する場合は、このオプションを選択できます。システムは、指定されたプライベートプールから ECS インスタンスを取得しようとします。プライベートプールに十分なリソースがない場合、システムは自動的にパブリックリソースプールのリソースを使用します。
指定されたプライベートプール:現在の EMR クラスタに特定の ECS プライベートプールを使用できます。
自動補償
説明このパラメータは、[ノードグループタイプ] パラメータを [TASK(タスクノードグループ)] に設定した場合にのみ使用できます。
自動補填を有効にすると、EMR はノードグループ内のノードのステータスを自動的に監視します。例外が発生した場合、EMR は異常なノードを自動的に解放し、異常なノードと同じ数のノードを追加します。詳細については、「自動補填の管理」をご参照ください。
スケーリングポリシー
説明このパラメータは、[課金方法] がプリエンプティブルインスタンスに設定されている場合にのみ使用できます。
優先順位ベースのポリシー(デフォルト)
システムは、ノードが正常に作成されるまで、指定されたインスタンスタイプを順番に使用してノードを作成しようとします。ノードの作成に使用される実際のインスタンスタイプは、在庫状況によって異なります。
コスト最適化ポリシー
スケールアウトアクティビティがトリガーされると、Auto Scaling は vCPU 価格が最も低い ECS インスタンスを優先的に作成します。スケールインアクティビティがトリガーされると、Auto Scaling は vCPU 価格が最も高い ECS インスタンスを優先的に削除します。スケーリング設定で課金方法としてプリエンプティブルインスタンスを選択した場合、Auto Scaling はプリエンプティブルインスタンスを優先的に作成します。リソース不足のためにプリエンプティブルインスタンスを作成できない場合、Auto Scaling は従量課金インスタンスを作成します。
詳細については、「コスト最適化ポリシー」をご参照ください。
安全停止
説明このパラメータは、YARN がデプロイされているクラスタでのみ使用できます。
安全停止を有効にすると、システムはノードのジョブが完了するかタイムアウトするまで待機してから、ノードをスケールインできます。Yarn サービスページで yarn.resourcemanager.nodemanager-graceful-decommission-timeout-secs パラメータを構成して、安全停止のタイムアウト期間を変更できます。
[OK] をクリックします。
ノードグループが作成されると、[ノード] タブにノードグループが表示されます。
ノードグループの変更
[ノード] タブで、変更するノードグループを見つけ、[ノードグループ名 / ID] 列でノードグループの名前をクリックします。
[ノードグループ属性] パネルで、ノードグループを変更し、[保存] をクリックします。
マスター、コア、ゲートウェイ、またはマスター拡張ノードグループの場合、ノードグループの名前と追加のセキュリティグループのみを変更できます。
手順
ノードグループの削除
タスクノードグループまたはコアノードグループは、ノードグループの [操作ステータス] 列に [実行中] と表示され、[ノード数] 列に 0 と表示されている場合に削除できます。
[ノード] タブで、削除するノードグループを見つけ、[操作]列の[詳細]アイコンにポインタを移動し、[ノードグループの削除] を選択します。
表示されるダイアログボックスで、[削除] をクリックします。
コスト最適化ポリシー
コスト最適化ポリシーは、プリエンプティブインスタンス 課金方法を使用するタスクノードグループを追加する場合にのみサポートされます。
コストと安定性のバランスをとるために、詳細なコスト最適化ポリシーを作成できます。
パラメータ | 説明 |
自動スケーリンググループの最小従量課金ノード | 自動スケーリンググループに必要な従量課金インスタンスの最小数。自動スケーリンググループの従量課金インスタンスの数がこの値を下回ると、従量課金インスタンスが優先的に作成されます。 |
従量課金ノードの割合 | 既存の従量課金インスタンスの数が[自動スケーリンググループの最小従量課金ノード]の値に達した後の、自動スケーリンググループの従量課金インスタンスの割合。 |
最低コストインスタンスタイプ | 価格が最も低いインスタンスタイプの数。プリエンプティブルインスタンスが必要な場合、システムは価格が最も低いインスタンスタイプに基づいて、プリエンプティブルインスタンスを均等に作成します。最大値は 3 です。 |
プリエンプティブルインスタンスの置換 | プリエンプティブルインスタンスの置換を有効にするかどうかを指定します。このスイッチをオンにすると、システムは既存のインスタンスが回収される約 5 分前に、既存のプリエンプティブルインスタンスを新しいプリエンプティブルインスタンスに自動的に置き換えます。 |
[最小従量課金ノード]、[従量課金ノードの割合]、または [最低コストインスタンスタイプ] パラメータを指定しない場合、マシングループは一般的なコスト最適化スケーリンググループです。パラメータを指定した場合、マシングループは混合インスタンスコスト最適化スケーリンググループです。2 種類のコスト最適化スケーリンググループは、インターフェースと機能の点で完全に互換性があります。
- 一般的なコスト最適化スケーリンググループでは、従量課金インスタンスのみが作成されます。
混合インスタンスコスト最適化スケーリンググループでは、[最小従量課金ノード] を 0 に、[従量課金ノードの割合] を 100 に、[最低コストインスタンスタイプ] を 1 に設定します。
- 一般的なコスト最適化スケーリンググループでは、プリエンプティブルインスタンスが優先的に作成されます。
混合インスタンスコスト最適化スケーリンググループでは、[最小従量課金ノード] を 0 に、[従量課金ノードの割合] を 0 に、[最低コストインスタンスタイプ] を 1 に設定します。
関連情報
ノードグループをスケールアウトする方法については、「EMR クラスタのスケールアウト」をご参照ください。
ノードグループをスケールインする方法については、「クラスタのスケールイン」をご参照ください。
ディスクを拡張する方法については、「ディスクの拡張」をご参照ください。
自動スケーリングルールを構成する方法については、「自動スケーリングルールの追加」をご参照ください。
自動スケーリングレコードを表示する方法については、「自動スケーリングアクティビティの表示」をご参照ください。