すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:EMR-CLI を使用したカスタムゲートウェイ環境のデプロイ

最終更新日:Jan 07, 2026

ゲートウェイは、計算クラスターにジョブを送信し、セキュリティの隔離を提供します。E-MapReduce は、ゲートウェイのデプロイメントを簡素化するための EMR-CLI というツールを提供しています。このツールは、Alibaba Cloud Elastic Compute Service (ECS) インスタンスを作成し、そのインスタンス上にゲートウェイ環境をデプロイします。このトピックでは、DataLake、Dataflow、または OLAP クラスターを作成した後にゲートウェイ環境をデプロイする方法について説明します。

3つのゲートウェイデプロイメントモードと選択ガイド

ゲートウェイは EMR のジョブ送信隔離レイヤーであり、以下の主要な利点を提供します。

  • クライアントのワークロードとコアクラスターサービスの分離

    spark-submithive -fyarn application などのクライアント操作を、マスターノードや Resource Manager ノードから分離します。

  • マルチテナント環境の隔離の実装

    異なるユーザーや部門に対して、独立したランタイム環境を構成できます。

  • クラスターの安定性と保守性の向上

    高頻度の送信、スクリプトのデバッグ、環境の競合、リソースの競合などの問題が、YARN ResourceManager や Hadoop 分散ファイルシステム (HDFS) NameNode などの主要なサービスに影響を与えるのを防ぎます。

EMR は3つのゲートウェイモードを提供しています。各モードは、異なるクラスタータイプ、バージョン、およびアーキテクチャ要件に適しています。

タイプ

サポートされるクラスタータイプとバージョン要件

デプロイ方法と主な特徴

シナリオと推奨事項

ゲートウェイノードグループ
(推奨)

以下のクラスターのみがサポートされます。

  • DataLake および DataFlow クラスター: EMR-5.10.1 以降

  • カスタムクラスター: EMR-5.17.1 以降

• 既存のクラスターにノードグループを直接追加します。詳細については、「ノードグループの管理」をご参照ください。
• 関連付けられたクラスターからクライアント構成を自動的に同期します。



推奨:既存の DataLake または DataFlow クラスターに、安全で隔離された送信エントリーポイントを迅速に追加するのに最適です。このオプションは、運用保守コストが最も低く、高い構成の一貫性を保証します。

ゲートウェイ環境

DataLake、DataFlow、カスタム、および OLAP クラスターをサポートします

• ECS インスタンスに手動でデプロイします。詳細については、「EMR コマンドラインインターフェイス (CLI) を使用してゲートウェイ環境のデプロイメントをカスタマイズする」をご参照ください。
• 完全に独立したファイルシステムとランタイム環境を提供します。関連付けられたクラスターからクライアント構成を手動で同期する必要があります。

クラスターがゲートウェイノードグループをサポートしていない場合の標準的な代替手段です。

ゲートウェイクラスター

Hadoop および Kafka クラスターのみをサポートします

  • ゲートウェイノードのみを含む別の EMR クラスターを作成します。詳細については、「ゲートウェイクラスターの作成」をご参照ください。

  • 関連付けられたクラスターからクライアント構成を自動的に同期します。

Hadoop および Kafka クラスターに適しています。

前提条件

E-MapReduce で DataLake、Dataflow、OLAP、またはカスタムの計算クラスターが作成され、クラスターが実行中状態であること。クラスターの作成方法の詳細については、「クラスターの作成」をご参照ください。

制限事項

  • クラスタータイプ:この方法は、DataLake、Dataflow、OLAP、またはカスタムクラスターのゲートウェイ環境のデプロイにのみ使用されます。ご利用のクラスタータイプとバージョンに互換性がある場合は、ゲートウェイノードグループの使用を推奨します。

    既存の Hadoop および Kafka クラスターのゲートウェイ環境をデプロイする方法の詳細については、「ゲートウェイクラスターの作成」をご参照ください。

    説明

    Hadoop または Kafka クラスターは、Alibaba Cloud アカウントが 2022年12月19日 17:00 (UTC+08:00) 以前にこれらのクラスターを作成した場合にのみ作成できます。この時間以前にこれらのクラスタータイプを作成していないアカウントでは、作成できなくなります。

  • 上書きインストール:EMR-CLI はゲートウェイクライアントを上書きモードでデプロイします。ゲートウェイが既に存在する ECS インスタンスにゲートウェイを再デプロイすると、新しいクライアントは同じディレクトリ内の既存のクライアントを上書きします。

  • 独立したデプロイメント:EMR クラスター内の既存の ECS インスタンス (Master、Core、Task ノードなど) をゲートウェイマシンとして使用しないでください。この方法は、クライアント環境がクラスターサービスの正常な動作に干渉するのを防ぎます。

  • サポートされるサービス:この方法を使用して、次のサービスのクライアントをデプロイできます:HDFS、YARN、HBase、HIVE、SPARK2、SPARK3、JINDOSDK、FLINK、SQOOP、IMPALA、PRESTO、HUDI、ICEBERG、TEZ、DELTALAKE。

初回ゲートウェイデプロイ

  1. ECS コンソールで ECS インスタンスを作成します。詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。

    説明

    作成された ECS インスタンスはパブリックネットワークアクセスを必要としません。

    推奨されるパラメーター設定は次のとおりです。

    パラメーター

    説明

    リージョンとゾーン

    EMR クラスターのリージョンとゾーンと同じである必要があります。

    イメージ

    EMR インスタンスのシステムと一致する必要があります。

    システムディスク

    少なくとも 60 GiB のエンタープライズ SSD (ESSD) を使用することを推奨します。

    ネットワーク

    EMR クラスターの VPC と同じである必要があります。

    セキュリティグループ

    EMR クラスターの Master インスタンスグループのセキュリティグループと同じである必要があります。これにより、ECS インスタンスと EMR クラスター間のネットワーク接続が確保されます。

  2. EMR ゲートウェイ専用の ECS RAM ロールを作成します。

    1. RAM 管理者として RAM コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[ID 管理] > [ロール] を選択します。

    3. [ロール] ページで、[ロールの作成] をクリックします。

    4. [ロールの作成] パネルで、[信頼できるエンティティタイプ][Alibaba Cloud サービス] に、[信頼できるサービス][ECS] に設定します。その後、[OK] をクリックします。

    5. [ロール名] (例:ECSForEMRGatewayRole) を入力し、[OK] をクリックします。

  3. RAM ロールに権限を付与します。

    1. [権限管理] タブで、[権限を付与] をクリックします。

    2. [権限を付与] パネルで、[システムポリシー] から AliyunEMRFullAccess、AliyunOSSFullAccess、および AliyunDLFFullAccess を選択し、[OK] をクリックします。

      image.png

    3. [閉じる] をクリックします。

  4. RAM ロールを ECS インスタンスに付与します。

    1. ECS コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[インスタンス & イメージ] > [インスタンス] を選択します。

    3. 上部のナビゲーションバーで、リージョンを選択します。

    4. 新しい ECS インスタンスを見つけ、image > [インスタンス設定] > [RAM ロールの付与/取り消し] を選択します。

    5. 表示されるダイアログボックスで、[ECSForEMRGatewayRole] ロールを選択し、[OK] をクリックします。

  5. ECS インスタンスに接続します。詳細については、「ECS インスタンスへの接続」をご参照ください。

  6. 次のコマンドを実行して EMR-CLI をインストールします。

    regionId=`curl http://100.100.100.200/latest/meta-data/region-id`; curl https://ecm-repo-${regionId}.oss-${regionId}-internal.aliyuncs.com/emrcli/emrcli.sh -o /tmp/emrcli.sh; chmod 755 /tmp/emrcli.sh; sh /tmp/emrcli.sh install ${regionId}

    インストールが成功すると、次の情報が返されます。

    install emrcli success
  7. 次のコマンドを実行して EMR ゲートウェイクライアントをデプロイします。

    emrcli gateway deploy \
      --clusterId <ClusterId> \
      --appNames <ApplicationName>

    必要に応じて、次のパラメーターを変更します。

    パラメーター

    必須

    説明

    clusterId

    はい

    EMR で作成されたクラスターの ID。

    appNames

    いいえ

    アプリケーション名。複数のアプリケーションを指定するには、カンマ (,) で区切ります。例:HDFS,YARN

    このパラメーターを指定しない場合、デフォルトでクラスター内のサポートされているすべてのアプリケーション (Hive や HDFS など) のクライアントがデプロイされます。

    デプロイが成功すると、次の情報が返されます。

    deployGateway success
    重要

    ゲートウェイのインストール後、システム環境変数 JAVA_HOME/usr/lib/jvm/java-1.8.0 に変更されます。この変数は /etc/profile.d/emr_env.sh ファイルで変更できますが、この変更はゲートウェイの機能に影響を与える可能性があるため、注意して実行してください。

  8. システム環境変数の変更を有効にするために、ECS インスタンスに再度ログインします。

  9. (任意) ゲートウェイノードのドメイン名の名前解決を構成します。

    重要

    このステップは、ゲートウェイに Spark サービスが含まれている場合に必要です。

    1. ゾーンを追加します。詳細については、「組み込みの権威ドメイン名の追加」をご参照ください。

    2. DNS レコードを追加します。詳細については、「DNS レコードの追加」をご参照ください。

      パラメーターは次の表で説明されています。

      パラメーター

      説明

      レコードタイプ

      デフォルト値の [A] を使用します。

      ホストレコード

      ゲートウェイマシンのホスト名を入力します。例:iZ2zea8r0aht2vzbqci****。

      hostname コマンドを実行してホスト名を取得できます。

      レコード値

      ゲートウェイマシンのプライベート IP アドレスを入力します。

      ノード管理ページで表示できます。

      TTL 値

      デフォルト値を使用します。

ゲートウェイ環境の管理

ゲートウェイを作成した後、関連付けられた計算クラスターに新しいサービスが追加されたり、そのサービス構成が変更されたりした場合は、次のコマンドを使用してクライアントコンポーネントを更新したり、最新の構成を同期したりできます。

クライアントコンポーネントの更新

EMR クラスターに Flink などの新しいサービスが追加された場合、対応するクライアントをゲートウェイノードに増分インストールできます。deploy コマンドは、インストール済みのアプリケーションの構成を上書きし、新しいアプリケーションを増分インストールします。

# 例:HDFS と YARN が既にある環境に FLINK クライアントを追加する
emrcli gateway deploy \
  --clusterId <ClusterId> \
  --appNames HDFS,YARN,FLINK

更新が成功すると、次の情報が返されます。

deployGateway success

EMR クラスターから変更された構成の同期

EMR クラスター内のサービスの構成が変更された場合 (たとえば、EMR コンソールで core-site.xml を変更した場合)、新しい構成をゲートウェイノードに手動で同期する必要があります。

重要

構成を同期すると、ゲートウェイ上の既存の構成が上書きされます。注意して実行してください。

# 同期コマンドを実行する
emrcli gateway refreshConfigs \
  --clusterId <ClusterId> \
  --appNames <ApplicationName> # (任意) 同期するアプリケーションを指定する

同期が成功すると、次の情報が返されます。

refreshConfiguration success

EMR-CLI の管理

EMR-CLI バージョンの表示

次のコマンドを実行して、EMR-CLI のバージョン情報を表示できます。

emrcli version

次のような情報が返されます。

2.0.0

EMR-CLI のアップグレード

EMR-CLI を最新バージョンに自動的にアップグレードするには、「初回ゲートウェイデプロイ」セクションで説明されているインストール手順を繰り返します。

よくある質問

Q:計算クラスターを切り替えるにはどうすればよいですか?

A:計算クラスターを切り替えるには、次の手順を実行します。

  1. データ損失を防ぐために、-mv コマンドを使用して、古いクラスター (切り替え前に使用していたクラスター) からファイルを手動でバックアップします。ファイルには、/opt/apps ディレクトリ、/etc/taihao-apps ディレクトリ、および /etc/profile.d/yarn.sh ファイルが含まれます。

  2. 計算クラスターを再デプロイするには、このトピックの操作を再度実行します。