E-MapReduce (EMR) クラスターを EMR コンピューティングリソースとして DataWorks に関連付けることで、データ同期、開発、および EMR タスクの管理が可能になります。
前提条件
-
DataWorks のワークスペースが作成されており、操作を実行する RAM ユーザーがワークスペースに追加され、ワークスペース管理者ロールが割り当てられている必要があります。
-
EMR クラスターが作成されている必要があります。
-
サポートされているクラスタータイプ:
-
このコンピューティングリソースは、データ開発 (DataStudio) (新版) パブリックプレビューへの参加 を使用するワークスペースにのみ関連付けることができます。
説明[Use Data Studio (New Version)][]を[データ開発 (DataStudio) (新版) パブリックプレビューへの参加]ワークスペースの場合、クラスター管理 でリソースを関連付けることができます。詳細については、「EMR コンピューティングリソースの関連付け (レガシーバージョン)」をご参照ください。
-
-
リソースグループがワークスペースに関連付けられており、ネットワーク接続が確立されている必要があります。
-
サーバーレスリソースグループを使用する場合、EMR コンピューティングリソースがサーバーレスリソースグループに接続できることを確認してください。
-
レガシーの専用リソースグループを使用する場合、EMR コンピューティングリソースが対応するユースケースのスケジューリング用の専用リソースグループに接続できることを確認してください。
-
制限事項
-
製品の制限事項:
-
Kerberos 認証が有効になっている EMR クラスターの場合、セキュリティグループは、リソースグループに関連付けられている vSwitch の CIDR ブロックからのインバウンド UDP トラフィックを許可する必要があります。
説明EMR クラスターの 基本情報 セクションにある Cluster Security Group の横にある
アイコンをクリックして、セキュリティグループの詳細 タブに移動します。アクセスルール > 受信 をクリックし、手動追加 を選択して、プロトコルタイプ を カスタム UDP に設定します。ポート範囲 については、EMR クラスター上の /etc/krb5.confファイルで KDC ポートを確認します。権限付与オブジェクト をリソースグループに関連付けられている vSwitch の CIDR ブロックに設定します。 -
DataLake またはカスタムクラスターのメタデータを DataWorks で管理するには、クラスター側で、またはSpark パラメーターを設定する際に EMR-HOOK を設定する必要があります。EMR-HOOK がないと、DataWorks はメタデータをリアルタイムで表示したり、監査ログを生成したり、リネージを表示したりできず、EMR 関連のガバナンスタスクを実行できません。EMR Hive および EMR Spark SQL サービスのみが EMR-HOOK をサポートしています。詳細については、「Hive 用の EMR-HOOK の設定」および「Spark SQL 用の EMR-HOOK の設定」をご参照ください。
説明-
Hive 用の EMR-HOOK の設定は、E-MapReduce コンソールで完了できます。設定完了後、リソースグループを再初期化する必要はありません。
-
Spark SQL 用の EMR-HOOK の設定には、2 つの方法があります:
-
E-MapReduce コンソールで設定します。この場合、リソースグループの再初期化が必要です。
-
コンピューティングリソースでSpark プロパティパラメーターを設定して設定します。この場合、リソースグループの再初期化は不要です。
-
-
-
-
リージョンに関する制限事項:中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深圳)、中国 (成都)、中国 (香港)、日本 (東京)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、ドイツ (フランクフルト)、英国 (ロンドン)、米国 (シリコンバレー)、および米国 (バージニア)。
-
権限に関する制限事項:
オペレーター
必要な権限
Alibaba Cloud アカウント
追加の承認は必要ありません。
RAM ユーザーまたは RAM ロール
オペレーターまたはワークスペース管理者ロールが割り当てられているか、
AliyunDataWorksFullAccess権限を持つワークスペースメンバーのみがコンピューティングリソースを作成できます。詳細については、「ユーザーへのワークスペース管理者ロールの付与」をご参照ください。
注意事項
-
DataWorks では、次の EMR バージョンの Hadoop クラスター (レガシーデータレイク) がサポートされています:
EMR-3.38.2、EMR-3.38.3、EMR-4.9.0、EMR-5.6.0、EMR-3.26.3、EMR-3.27.2、EMR-3.29.0、EMR-3.32.0、EMR-3.35.0、EMR-4.3.0、EMR-4.4.1、EMR-4.5.0、EMR-4.5.1、EMR-4.6.0、EMR-4.8.0、EMR-5.2.1、EMR-5.4.3。 -
Hadoop クラスター (レガシーデータレイク) は現在推奨されていません。できるだけ早く DataLake クラスターに移行してください。詳細については、「Hadoop クラスターから DataLake クラスターへの移行」をご参照ください。
コンピューティングリソースリストページへの移動
-
DataWorks コンソールにログインします。左側メニューで、対象のリージョンに切り替え、 をクリックします。ドロップダウンリストからワークスペースを選択し、管理センターへ をクリックします。
-
左側メニューで、計算リソース をクリックしてコンピューティングリソースリストページを開きます。
EMR コンピューティングリソースの関連付け
コンピューティングリソースページで、EMR コンピューティングリソースを設定し、関連付けます。
-
関連付けるコンピューティングリソースのタイプを選択します。
-
計算リソースのアタッチ をクリックして、計算リソースのアタッチ ページに移動します。
-
計算リソースのアタッチ ページで、コンピューティングリソースタイプを EMR に設定し、[EMR コンピューティングリソースの関連付け] 設定ページに移動します。
-
-
EMR コンピューティングリソースを設定します。
[EMR コンピューティングリソースの関連付け] 設定ページで、次のパラメーターを設定します。
パラメーター
説明
[クラスターの Alibaba Cloud アカウント]
現在の Alibaba Cloud アカウント または その他の Alibaba Cloud アカウント を選択できます。
説明その他の Alibaba Cloud アカウント を選択した場合は、「Alibaba Cloud アカウント間での EMR クラスターの使用」の指示に従って関連アカウントを承認し、プロンプトに従って必要なパラメーターを設定できます。
[クラスタータイプ]
ビジネス要件に基づいてクラスタータイプを選択します。
[クラスター]
対応するクラスタータイプの下で、使用する EMR クラスターを選択します。
[デフォルトアクセス主体]
-
開発環境:クラスターアカウント
hadoop、またはタスク実行者にマッピングされたクラスターアカウントを使用できます。 -
本番環境:クラスターアカウント
hadoop、またはタスク所有者、Alibaba Cloud アカウント、RAM ユーザーにマッピングされたクラスターアカウントを使用できます。説明デフォルトのアクセスアイデンティティがタスク所有者、Alibaba Cloud アカウント、または RAM ユーザーにマッピングされたクラスターアカウントに設定されている場合、「DataWorks と EMR 間のアカウントマッピングの設定」を参照して、DataWorks テナントメンバーと EMR クラスターアカウント間のマッピングを設定してください。EMR タスクは、マッピングされたクラスターアカウントで実行されます。マッピングが設定されていない場合、DataWorks は次のように処理します:
-
RAM ユーザー (サブアカウント) がタスクを実行する場合:DataWorks はデフォルトで、現在のオペレーターと同じ名前の EMR クラスターシステムアカウントを使用します。クラスターで LDAP または Kerberos 認証が有効になっている場合、タスクは失敗します。
-
Alibaba Cloud アカウントがタスクを実行する場合:DataWorks タスクはエラーを返します。
-
[proxy user 情報の転送]
タスクが EMR クラスターで実行される際に、プロキシユーザー情報を渡すかどうかを指定します。
説明LDAP、Kerberos、またはその他の認証方法が有効になっている場合、クラスターは各通常ユーザーに認証資格情報を発行します。スーパーユーザー (実際のユーザー) を使用して通常ユーザー (プロキシユーザー) を代理認証することで、プロキシユーザーがスーパーユーザーの資格情報でクラスターにアクセスできるようになります。ユーザーをプロキシユーザーとして追加するだけです。
-
渡す:タスクが EMR クラスターで実行される場合、データアクセス権限はプロキシユーザーに基づいて検証および制御されます。
-
Data Studio とデータ分析:タスク実行者の Alibaba Cloud アカウント名がプロキシユーザー情報として動的に渡されます。
-
オペレーションセンター:クラスターが登録されたときに設定されたデフォルトのアクセスアイデンティティの Alibaba Cloud アカウント名が、固定のプロキシユーザー情報として渡されます。
-
-
渡さない:タスクが EMR クラスターで実行される場合、データアクセス権限はクラスターが登録されたときに設定されたアカウント認証方法に基づいて検証および制御されます。
プロキシユーザー情報は、EMR タスクのタイプによって渡される方法が異なります:
-
EMR Kyuubi タスク:情報は
hive.server2.proxy.user設定項目を通じて渡されます。 -
非 JDBC モードの EMR Spark タスクおよび EMR Spark SQL タスク:情報は
-proxy-user設定項目を通じて渡されます。
設定ファイル
クラスタータイプが [HADOOP] に設定されている場合、EMR コンソールから設定ファイルを取得します。詳細については、「EMR クラスター設定ファイルのエクスポート」をご参照ください。エクスポート後、設定ページのプロンプトに従ってファイル名を変更します。
また、EMR クラスターにログインして、次のパスから設定ファイルを取得することもできます。
/etc/ecm/hadoop-conf/core-site.xml /etc/ecm/hadoop-conf/hdfs-site.xml /etc/ecm/hadoop-conf/mapred-site.xml /etc/ecm/hadoop-conf/yarn-site.xml /etc/ecm/hive-conf/hive-site.xml /etc/ecm/spark-conf/spark-defaults.conf /etc/ecm/spark-conf/spark-env.sh[計算リソースインスタンス名]
コンピューティングリソースインスタンスの名前をカスタマイズします。タスクの実行時に、名前でコンピューティングリソースを選択できます。
-
-
OK をクリックして、EMR コンピューティングリソースの設定を完了します。
リソースグループの初期化
初めてクラスターを登録した場合、クラスターのサービス設定を変更した場合、またはコンポーネントのバージョンをアップグレードした場合 (例:core-site.xml の変更) は、リソースグループを初期化して、ネットワーク接続設定を介して EMR クラスターにアクセスできるようにします。
-
計算リソース ページで、作成した EMR コンピューティングリソースを見つけます。右上隅にある リソースグループの初期化 をクリックします。
-
目的のリソースグループの横にある [初期化] をクリックします。リソースグループが初期化された後、OK をクリックします。
(任意) YARN リソースキューの設定
計算リソース ページで、関連付けた EMR クラスターを探します。YARN リソースキュー タブで、[YARN リソースキューの編集] をクリックし、異なるモジュールのタスクに YARN リソースキューを設定します。
(任意) Spark パラメーターの設定
異なるモジュールのタスクに専用の Spark プロパティパラメーターを設定します。
-
計算リソース ページで、関連付けた EMR クラスターを探します。
-
SPARK パラメーター タブをクリックし、Spark のパラメーターの編集 をクリックして、EMR クラスターの Spark パラメーター編集ページに移動します。
-
モジュールの下にある 追加 をクリックし、Spark プロパティ名 と対応する Spark プロパティ値 を入力し、異なるモジュールのタスクに Spark プロパティパラメーターを設定します。
次のステップ
-
「Kyuubi 接続情報を設定する」:Kyuubi にログインしてタスクを実行するためのカスタムアカウントとパスワードを設定します。
-
EMR コンピューティングリソースを設定した後、Data Studio のEMR 関連ノードを使用してデータ開発を行います。