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

E-MapReduce:Ranger で YARN を有効化し、関連する権限を設定する

最終更新日:Jan 11, 2025

このトピックでは、Ranger で YARN を有効化する方法と、関連する権限を設定する方法について説明します。

背景情報

YARN が Ranger と統合されている場合、Ranger を使用してスケジューラキューの権限のみを設定できます。 フェアキューの権限は設定できません。 Ranger を使用して YARN キューに設定した権限と、YARN の Capacity Scheduler 設定は同時に有効になります。次の図は認証プロセスを示しています。YARN

前提条件

EMR V5.11.0 以前または EMR V3.45.0 以前のバージョンのクラスターが作成され、クラスターに Ranger と OpenLDAP が選択されています。 クラスターの作成方法の詳細については、「クラスターの作成」をご参照ください。

説明

EMR V5.11.0 以降のマイナーバージョンのクラスターと EMR V3.45.0 以降のマイナーバージョンのクラスターの場合、クラスターに OpenLDAP がインストールされていれば、RangerUserSync は自動的に LDAP サーバーに接続します。 Ranger サービスページの [設定] タブで ranger.usersync.sync.source 設定項目を検索して、RangerUserSync のユーザーソース (UNIX または LDAP) を表示できます。

制限事項

Capacity Scheduler を YARN のスケジューラとして使用する必要があり、YARN のアクセス制御リスト (ACL) 機能を有効にする必要があります。 不要な権限が付与されていないことを確認する必要があります。 詳細については、「YARN スケジューラ」および「YARN の高セキュリティ機能」をご参照ください。

Ranger で YARN を有効にする前に、次の要件が満たされていることを確認してください。

  • YARN サービスページの [yarn-site.xml] タブで、yarn.resourcemanager.scheduler.class パラメーターが org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler に設定されています。/* YARN サービスページの yarn-site.xml タブで、yarn.resourcemanager.scheduler.class パラメーターが org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler に設定されている。*/

  • YARN サービスページの yarn-site.xml タブで、yarn.acl.enable パラメーターが true に設定されています。 これは、YARN の ACL 機能が有効になっていることを示します。/* YARN サービスページの yarn-site.xml タブで、yarn.acl.enable パラメーターが true に設定されている。これは、YARN の ACL 機能が有効になっていることを示す。*/

  • YARN サービスページの capacity-scheduler.xml タブで、yarn.scheduler.capacity.root.acl_submit_applications パラメーターが単一のスペースに設定され、yarn.scheduler.capacity.root.acl_administer_queue パラメーターが hadoop(hadoop の前にスペースが追加されています)に設定されています。 これは、hadoop ユーザーグループにすべてのキューを管理する権限があることを示します。/* YARN サービスページの capacity-scheduler.xml タブで、yarn.scheduler.capacity.root.acl_submit_applications パラメーターが単一のスペースに設定され、yarn.scheduler.capacity.root.acl_administer_queue パラメーターが hadoop(hadoop の前にスペースが追加されています)に設定されている。これは、hadoop ユーザーグループにすべてのキューを管理する権限があることを示す。*/

  • acl_submit_applications または acl_administer_queue 設定項目は、ルートキュー以外のキューには設定されていません。 これにより、YARN の ACL 機能が Ranger 認証に影響を与えることを防ぎます。/* acl_submit_applications または acl_administer_queue 設定項目は、ルートキュー以外のキューには設定されていない。これにより、YARN の ACL 機能が Ranger 認証に影響を与えることを防ぐ。*/

手順

  1. [サービス] タブに移動します。

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

    2. 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。

    3. EMR on ECS ページで、目的のクラスターを見つけ、[アクション] 列の [サービス] をクリックします。

  2. Ranger で YARN を有効にします。

    1. 表示されるページの Services タブで、Status[ranger-plugin] セクションの をクリックします。

    2. [サービス概要] タブで、[enableyarn] をオンにします。

    3. 表示されるメッセージで、[OK] をクリックします。

  3. YARN ResourceManager を再起動します。

    1. [サービス] タブで、More アイコンをクリックし、[YARN] を選択します。

    2. [ステータス] タブの [コンポーネント] セクションで、[resourcemanager] を見つけ、[アクション] 列の [再起動] をクリックします。

    3. 表示されるダイアログボックスで、[実行理由] パラメーターを設定し、[OK] をクリックします。

    4. [確認] メッセージで、[OK] をクリックします。

Ranger で権限を設定する

Ranger で YARN を有効にすると、YARN サービスが Ranger の Web UI に追加されます。 YARN サービスを使用して、ユーザー emr-user にキュー管理権限を付与できます。

  1. Ranger の Web UI にアクセスします。 詳細については、「概要」をご参照ください。

  2. [emr-yarn] をクリックします。

    emr-yarn

  3. 表示されるページの右上隅にある [新しいポリシーを追加] をクリックします。

  4. ビジネス要件に基づいてパラメーターを構成します。次の表でパラメーターについて説明します。

    Create Policy

    パラメーター

    説明

    ポリシー名

    ポリシーの名前。カスタム名を指定できます。

    キュー

    キューの名前。例:root.default。

    再帰的

    子キューが権限を継承するかどうかを指定します。

    グループの選択

    ポリシーをアタッチするユーザーグループ。

    ユーザーの選択

    ポリシーをアタッチするユーザー。例:emr-user。

    権限

    付与する権限。例:admin-queue。

  5. [追加] をクリックします。

    ポリシーが追加されると、関連する権限がユーザー emr-user に付与されます。ユーザー emr-user は root.default キューにジョブを送信できます。

    説明

    ポリシーを追加、削除、または変更した後、構成が有効になるまで約 1 分かかります。