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

E-MapReduce:EMR on ACK の利用開始

最終更新日:Aug 22, 2026

このトピックでは、Alibaba Cloud アカウントで E-MapReduce (EMR) コンソールにログインし、EMR on ACK クラスターを作成して、ジョブを実行する方法について説明します。

注意事項

  • コードの実行環境の管理と設定は、お客様の責任となります。

  • このトピックの例では、JAR ファイルはイメージに直接パッケージ化されています。独自の JAR ファイルを使用する場合は、Object Storage Service (OSS) にアップロードできます。詳細については、「簡易アップロード」をご参照ください。

    コマンド内の local:///opt/spark/examples/spark-examples.jar を、ご利用の JAR ファイルの OSS パスに置き換えてください。パスのフォーマットは oss://<yourBucketName>/<path>.jar です。

前提条件

EMR on ACK クラスターを作成する前に、Container Service for Kubernetes (ACK) コンソール で次の手順を実行してください。

  1. Kubernetes クラスターを作成してください。詳細については、「ACK 専用クラスターの作成 (新規インスタンスは利用不可)」または「ACK マネージドクラスターの作成」をご参照ください。

  2. AliyunOSSFullAccess と AliyunDLFFullAccess ポリシーをアタッチしてください。詳細については、「OSS と DLF のポリシーを付与」をご参照ください。

説明

JAR ファイルを OSS に保存するには、まず OSS を有効化する必要があります。詳細については、「OSS の有効化」をご参照ください。

ステップ 1:ロール権限の付与

EMR on ACK を使用する前に、EMR on ACK コンソールで、Alibaba Cloud アカウントに AliyunEMROnACKDefaultRole システムデフォルトロールを付与してください。詳細については、「Alibaba Cloud アカウントへのロール権限の付与」をご参照ください。

ステップ 2:クラスターの作成

Kubernetes 上に Spark クラスターを作成してください。クラスターの作成方法の詳細については、「クラスターの作成」をご参照ください。

  1. EMR on ACK コンソール にログインします。

  2. EMR on ACK ページで、Create Cluster をクリックします。

  3. [E-MapReduce on ACK] ページで、クラスターのパラメーターを設定します。

    パラメーター

    例

    説明

    [Region]

    中国 (杭州)

    クラスターがデプロイされるリージョン。クラスターの作成後にリージョンを変更することはできません。

    [Cluster Type]

    Spark

    ETL、オフラインバッチ処理、データモデリングなどの機能を提供する、汎用の分散型ビッグデータ処理エンジン。

    重要

    Spark クラスターを作成後、シャッフルサービスクラスターに関連付ける場合、プロダクトのメジャーバージョンを、関連付けるシャッフルサービスクラスターのバージョンと一致させる必要があります。たとえば、EMR-5.x-ack の Spark クラスターは、EMR-5.x-ack のシャッフルサービスクラスターにのみ関連付けることができます。

    [Product Version]

    EMR-5.6.0-ack

    デフォルトで最新のソフトウェアバージョンが使用されます。

    [Component Version]

    SPARK (3.2.1)

    選択したクラスタータイプで利用可能なコンポーネントとそのバージョン。

    [ACK クラスター]

    Emr-ack

    既存の ACK クラスターを選択するか、ACK コンソールで作成してください。

    重要

    1 つの ACK クラスターを、同じタイプの複数の EMR on ACK クラスターに関連付けることはできません。

    Configure Dedicated Nodes をクリックして、EMR の専用ノードを設定します。これにより、EMR 固有のテイントとラベルがノードプールまたは特定のノードに追加されます。

    説明

    ノードプールを使用して専用ノードを設定することを推奨します。ノードプールが存在しない場合は、作成してください。詳細については、「ノードプールの作成」および「ノードプール」をご参照ください。

    OSS バケット

    oss-spark-test

    既存のバケットを選択するか、OSS コンソールで作成してください。

    [クラスター名]

    Emr-Spark

    クラスターの名前。長さは 1~64 文字で、漢字、英字、数字、ハイフン (-)、アンダースコア (_) を使用できます。

  4. create をクリックします。

    ステータスが Running に変わると、クラスターが作成されます。

ステップ 3:ジョブの送信

このセクションでは、カスタムリソース定義 (CRD) を使用して Spark ジョブを送信する方法について説明します。Spark の詳細については、オープンソースの「Quick Start」ドキュメントを参照し、適切な言語とバージョンを選択してください。

ジョブの送信に関する詳細については、次のトピックをご参照ください。

  1. kubectl を使用して Alibaba Cloud Container Service for Kubernetes(ACK)クラスタに接続します。詳細については、「クラスタの kubeconfig ファイルを取得し、kubectl を使用してクラスタに接続する」をご参照ください。

  2. spark-pi.yaml という名前のジョブファイルを作成します。次のコードは、ファイルの内容を示しています。

    apiVersion: "sparkoperator.k8s.io/v1beta2"
    kind: SparkApplication
    metadata:
      name: spark-pi-simple
    spec:
      type: Scala
      sparkVersion: 3.2.1
      mainClass: org.apache.spark.examples.SparkPi
      mainApplicationFile: "local:///opt/spark/examples/spark-examples.jar"
      arguments:
        - "1000"
      driver:
        cores: 1
        coreLimit: 1000m
        memory: 4g
      executor:
        cores: 1
        coreLimit: 1000m
        memory: 8g
        memoryOverhead: 1g
        instances: 1

    コードのフィールドの詳細については、「spark-on-k8s-operator」を参照してください。

    説明
    • カスタムファイル名を指定できます。この例では、spark-pi.yaml が使用されています。

    • この例では、EMR V5.6.0 用の Spark 3.2.1 が使用されています。別のバージョンの Spark を使用する場合は、ビジネス要件に基づいて sparkVersion パラメータを設定します。

  3. ジョブを送信するには、次のコマンドを実行します。

    kubectl apply -f spark-pi.yaml --namespace <Namespace in which the cluster resides>

    <Namespace in which the cluster resides> は、ビジネス要件に基づいて名前空間に置き換えます。名前空間を表示するには、EMR コンソールにログインし、[クラスタの詳細] タブに移動します。

    次の情報が返されます。

    sparkapplication.sparkoperator.k8s.io/spark-pi-simple created
    説明

    spark-pi-simple は、送信された Spark ジョブの名前です。

  4. オプション。 [ジョブの詳細] タブで、送信された Spark ジョブに関する情報を表示します。

(オプション) ステップ 4:クラスターのリリース

クラスターが不要になった場合は、コストを削減するためにクラスターをリリースしてください。

  1. EMR on ACK ページでクラスターを見つけ、[Actions] 列の 削除済み をクリックします。

  2. Release Cluster ダイアログボックスで、OK をクリックします。

関連ドキュメント