複数のユーザーやアプリケーションからジョブを送信する際に、EMR クラスターの中核となるサービスの安定性に影響を与えないように、統一された隔離エントリポイントとしてゲートウェイノードを使用します。ゲートウェイノードは、クライアントのワークロードをクラスターのマスターノードから分離します。この分離によってコアコンポーネントが保護され、ユーザーごとに独立した環境を構成できます。
ゲートウェイのデプロイメントオプション
ゲートウェイは、EMR が提供するジョブ送信のための隔離レイヤーです。主な利点は次のとおりです。
-
クライアントワークロードとコアクラスターサービスの分離
マスターノードから
spark-submit、hive -f、yarn applicationなどのクライアント操作をオフロードします。 -
マルチテナント環境での隔離の実現
ユーザーや部門ごとに個別の実行環境をサポートします。
-
クラスターの安定性とメンテナンス性の向上
頻繁なジョブ送信、スクリプトのデバッグ、環境の競合、リソース競合などが、YARN ResourceManager や HDFS NameNode などの重要なサービスに影響を与えるのを防ぎます。
EMR は、さまざまなクラスタータイプ、バージョン、アーキテクチャ要件に合わせて、3つのゲートウェイオプションを提供しています。
|
オプション |
サポートされるクラスタータイプとバージョン |
デプロイメントと主な特徴 |
ユースケースと推奨事項 |
|
ゲートウェイノードグループ |
以下のクラスターのみをサポートします。
|
• 既存のクラスターに新しいノードグループを追加します。詳細については、「ノードグループの管理」をご参照ください。 |
強く推奨:このオプションを使用すると、既存の DataLake または DataFlow クラスターに、安全で隔離された送信エントリポイントを迅速に追加できます。メンテナンスコストが最も低く、高い構成の一貫性を確保します。 |
|
ゲートウェイ環境 |
DataLake、DataFlow、カスタム、OLAP クラスターをサポートします。 |
• ECS インスタンスに手動でデプロイします。詳細については、「EMR CLI を使用したゲートウェイ環境デプロイメントのカスタマイズ」をご参照ください。 |
ご利用のクラスターがゲートウェイノードグループをサポートしていない場合の、標準的な代替手段です。 |
|
ゲートウェイクラスター |
Hadoop および Kafka クラスターのみをサポートします。 |
|
Hadoop および Kafka クラスターに適しています。 |
操作手順
-
SSH を使用してゲートウェイインスタンスに接続します。詳細については、「クラスターへのログイン」をご参照ください。
-
SSH でノードに接続した後、次のコマンドを実行してジョブを送信します。この例では、Spark 3.1.1 を使用します。
spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client --driver-memory 512m --num-executors 1 --executor-memory 1g --executor-cores 2 /opt/apps/SPARK3/spark-current/examples/jars/spark-examples_2.12-3.1.1.jar 10説明JAR ファイル名
spark-examples_2.12-3.1.1.jarはクラスターによって異なる場合があります。クラスターにログインして、/opt/apps/SPARK3/spark-current/examples/jarsディレクトリでファイル名を確認できます。 -
ジョブを送信すると、YARN UI でそのステータスを確認できます。次の手順に従ってください。
-
セキュリティグループでポート 8443 を開きます。詳細については、「セキュリティグループの管理」をご参照ください。
-
ユーザーを追加します。詳細については、「OpenLDAP のユーザー管理」をご参照ください。
YARN UI にアクセスするには、Knox アカウントのユーザー名とパスワードが必要です。
-
「EMR on ECS」ページで、対象のクラスターの行にある [クラスターサービス] をクリックします。
-
[アクセスリンクとポート] タブをクリックします。
-
[YARN UI] 行にあるパブリックリンクをクリックします。
ユーザー認証情報でログインして、YARN UI ページにアクセスします。
-
[すべてのアプリケーション] ページで、対象のジョブの ID をクリックして詳細を表示します。
-