DataWorks で E-MapReduce (EMR) タスクを開発および管理するには、まず EMR クラスターを計算リソースとして DataWorks ワークスペースにアタッチする必要があります。クラスターがアタッチされると、この計算リソースをデータ同期や開発などの DataWorks での操作に使用できます。
前提条件
DataWorks でワークスペースを作成しており、お使いの RAM ユーザーがワークスペースに追加され、ワークスペース管理者ロールが割り当てられていること。
EMR クラスターを作成していること。
サポートされているクラスタータイプ:
この計算リソースは、[Data Studio (新バージョン) を使用] オプションが有効になっているワークスペースにのみアタッチできます。
説明[Data Studio (新バージョン) を使用] を有効にしていないワークスペースでは、「レガシーデータ開発: EMR 計算リソースのアタッチ」で説明されているように [クラスター管理] を使用できます。
リソースグループをワークスペースにアタッチし、ネットワーク接続を確立していること。
サーバーレスリソースグループを使用する場合、EMR 計算リソースが サーバーレスリソースグループに接続できることを確認するだけで済みます。
レガシー専用リソースグループを使用する場合、EMR 計算リソースが関連するシナリオの専用スケジューリングリソースグループに接続できることを確認する必要があります。
制限
製品の制限:
Kerberos 認証が有効になっている EMR クラスターの場合、そのセキュリティグループにインバウンドルールを追加する必要があります。このルールでは、アタッチされたリソースグループの vSwitch CIDR ブロックから UDP プロトコル経由でのアクセスを許可する必要があります。
説明EMR クラスターの [基本情報] セクションにある [クラスターセキュリティグループ] の横にある
アイコンをクリックして、[セキュリティグループの詳細] タブを開きます。[アクセスルール] タブで、[インバウンド] をクリックし、次に [手動で追加] をクリックします。[プロトコルタイプ] には、[カスタム UDP] を選択します。[ポート範囲] には、EMR クラスターの /etc/krb5.confファイルで指定されている KDC ポートを入力します。[承認オブジェクト] を、リソースグループに関連付けられている vSwitch CIDR ブロックに設定します。DataWorks で DataLake またはカスタムクラスターのメタデータを管理するには、クラスター上で、または SPARK パラメーターを設定する際に EMR-HOOK を設定できます。EMR-HOOK を設定しない場合、リアルタイムメタデータ、監査ログ、およびデータリネージを DataWorks に表示できません。さらに、EMR ガバナンスタスクを実行できません。現在、EMR Hive および EMR Spark SQL サービスのみが EMR-HOOK 設定をサポートしています。設定の詳細については、「Hive の EMR-HOOK の設定」および「Spark SQL の EMR-HOOK の設定」をご参照ください。
説明E-MapReduce コンソールで Hive の EMR-HOOK を設定できます。設定が完了した後、リソースグループを再初期化する必要はありません。
Spark SQL の EMR-HOOK を設定するには 2 つの方法があります:
E-MapReduce コンソールで設定します。リソースグループを再初期化する必要があります。
計算リソースで SPARK プロパティパラメーターを設定することで設定できます。リソースグループを再初期化する必要はありません。
リージョン別の可用性: 中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深圳)、中国 (成都)、中国 (香港)、日本 (東京)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、ドイツ (フランクフルト)、英国 (ロンドン)、米国 (シリコンバレー)、および米国 (バージニア)。
権限:
オペレーター
必要な権限
Alibaba Cloud アカウント
追加の権限は必要ありません。
Alibaba Cloud RAM ユーザー/RAM ロール
O&M および スペース管理者 ロール、または
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, andEMR-5.4.3.Hadoop クラスター (レガシーデータレイク) は非推奨です。できるだけ早く DataLake クラスターに移行することをお勧めします。詳細については、「Hadoop クラスターを DataLake クラスターに移行する」をご参照ください。
計算リソースリストページに移動
DataWorks コンソールにログインします。ターゲットリージョンに切り替えます。左側のナビゲーションウィンドウで、 を選択します。ドロップダウンリストからワークスペースを選択し、[管理センターへ] をクリックします。
左側のナビゲーションウィンドウで、[計算リソース] をクリックします。
EMR 計算リソースのアタッチ
[計算リソース] ページで、次のステップを実行して EMR 計算リソースをアタッチします。
計算リソースタイプを選択します。
[計算リソースのアタッチ] をクリックして [計算リソースのアタッチ] ページに移動します。
[計算リソースのアタッチ] ページで、計算リソースタイプを [EMR] に設定します。その後、[EMR 計算リソースのアタッチ] 設定ページにリダイレクトされます。
EMR 計算リソースを設定します。
[EMR 計算リソースのアタッチ] ページで、次の表の説明に従ってパラメーターを設定します。
パラメーター
説明
[クラスターの Alibaba Cloud アカウント]
[この Alibaba Cloud アカウント] または [他の Alibaba Cloud アカウント] を選択できます。
説明[他の Alibaba Cloud アカウント] を選択した場合、「シナリオ: クロスアカウント EMR クラスターの登録」の手順に従って必要な権限を付与できます。その後、インターフェイスのプロンプトに従ってパラメーターを入力します。
クラスタータイプ
必要に応じてクラスタータイプを選択します。
クラスター
使用する EMR クラスターを選択します。
[デフォルトのアクセス ID]
開発環境: クラスターアカウント
hadoopまたはタスク実行者にマッピングされたクラスターアカウントを使用できます。本番環境: クラスターアカウント
hadoopまたはタスクオーナー、Alibaba Cloud アカウント、RAM ユーザーにマッピングされたクラスターアカウントを使用できます。説明タスクオーナー、Alibaba Cloud アカウント、または RAM ユーザーにマッピングされたクラスターアカウントをデフォルトのアクセス ID として選択した場合、「クラスター ID マッピングの設定」を参照して、DataWorks テナントメンバーと指定された EMR クラスターアカウント間のマッピングを手動で設定できます。このマッピングを設定せずに DataWorks で EMR タスクを実行すると、DataWorks は次のように状況を処理します:
RAM ユーザーがタスクを実行する場合: タスクは、現在のオペレーターと同じ名前を持つ EMR クラスターシステムアカウントによってデフォルトで実行されます。クラスターで LDAP または Kerberos 認証が有効になっている場合、タスクは失敗します。
Alibaba Cloud アカウントがタスクを実行する場合: DataWorks タスクの実行は失敗します。
[プロキシユーザー情報の受け渡し]
プロキシユーザー情報を渡すかどうかを指定します。
説明LDAP や Kerberos などの認証方式が有効になっている場合、クラスターは各一般ユーザーに資格情報を発行します。権限管理を簡素化するために、スーパーユーザー (実際のユーザー) に一般ユーザー (プロキシユーザー) を認証のためにプロキシさせることができます。プロキシユーザーがクラスターにアクセスすると、スーパーユーザーの ID が認証に使用されます。ユーザーをプロキシユーザーとして追加するだけで済みます。
渡す: タスクが EMR クラスターで実行されると、データアクセス権限はプロキシユーザーに基づいて検証および制御されます。
DataStudio および DataAnalysis: タスク実行者の Alibaba Cloud アカウント名がプロキシユーザー情報として動的に渡されます。
オペレーションセンター: クラスター登録時に設定されたデフォルトのアクセス ID の Alibaba Cloud アカウント名がプロキシユーザー情報として渡されます。
渡さない: タスクが EMR クラスターで実行されると、データアクセス権限はクラスター登録時に設定された ID 検証メソッドに基づいて検証および制御されます。
プロキシユーザー情報は、EMR タスクの種類によって異なる方法で渡されます:
EMR Kyuubi タスク:
hive.server2.proxy.user設定項目を介して渡されます。EMR Spark タスクおよび非 Java Database Connectivity (JDBC) EMR Spark SQL タスク:
-proxy-user設定項目を介して渡されます。
設定ファイル
[HADOOP] をクラスタータイプとして選択した場合、EMR コンソールに移動して設定ファイルを取得できます。詳細については、「サービス設定のエクスポートとインポート」をご参照ください。サービス設定ファイルをエクスポートした後、GUI のファイルアップロード要件に基づいてファイル名を変更します。
また、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[計算リソースインスタンス名]
計算リソースインスタンスのカスタム名。この名前に基づいて、タスクを実行する計算リソースを選択できます。
[確認] をクリックして設定を完了します。
リソースグループの初期化
初めてクラスターを登録するとき、クラスターサービスの設定を変更するとき、または core-site.xml ファイルの変更などによりコンポーネントのバージョンをアップグレードするときは、リソースグループを初期化する必要があります。これにより、ネットワーク接続を設定した後にリソースグループが EMR クラスターに接続できるようになります。
[計算リソース] ページで、アタッチした EMR 計算リソースを見つけ、右上隅にある [リソースグループの初期化] をクリックします。
初期化するリソースグループを見つけて [初期化] をクリックします。リソースグループが初期化されたら、[OK] をクリックします。
(オプション) YARN リソースキューの設定
[計算リソース] ページに移動して、アタッチした EMR クラスターを見つけることができます。[YARN リソースキュー] タブで、[YARN リソースキューの編集] をクリックして、さまざまなモジュールのタスクに対して グローバル YARN リソースキューを設定します。
(オプション) SPARK パラメーターの設定
さまざまなモジュールのタスクに特定の SPARK プロパティパラメーターを設定します。
[計算リソース] ページで、アタッチした EMR クラスターを見つけます。
[SPARK パラメーター] タブで、[SPARK パラメーターの編集] をクリックして、EMR クラスターの SPARK パラメーターを編集するページに移動します。
モジュールの下にある [追加] ボタンをクリックし、[Spark プロパティ名] とそれに対応する [Spark プロパティ値] を入力することで、タスクの グローバル Spark パラメーターを設定できます。
次のステップ
Kyuubi 接続情報の設定: カスタムアカウントとパスワードを使用して Kyuubi にログインし、関連タスクを実行するには、このドキュメントを参照して Kyuubi 接続情報をカスタマイズする方法の手順を確認してください。
EMR 計算リソースを設定した後、EMR 関連ノードを使用してデータ開発でデータ開発を実行できます。