全部產品
Search
文件中心

E-MapReduce:配置YARN開啟Ranger許可權控制

更新時間:Dec 27, 2024

本文介紹如何將YARN整合至Ranger,以及如何配置許可權。

背景資訊

Ranger YARN僅支援Scheduler隊列的許可權控制,不支援Fair隊列的許可權控制。Ranger YARN隊列許可權控制與YARN內建的Capacity Scheduler配置共同生效。鑒權流程如下圖所示。YARN

前提條件

已建立EMR-5.11.0之前版本、EMR-3.45.0之前版本,且選擇了Ranger服務的叢集,建立叢集詳情請參見建立叢集

說明

EMR-5.11.0及後續版本、EMR-3.45.0及後續版本,Ranger Usersync會根據叢集是否安裝OpenLDAP自動對接LDAP,您可以在Ranger服務的配置頁簽,搜尋ranger.usersync.sync.source配置項,查看當前Ranger Usersync的使用者來源(unix或ldap)。

使用限制

YARN必須使用Capacity Scheduler調度器,開啟ACL許可權,並確保沒有非必要的授權,詳情請參見YARN調度器YARN高安全特性使用指南

須確認以下資訊:

  • YARN服務的yarn-site.xml中已配置yarn.resourcemanager.scheduler.class=org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler

  • YARN ACL功能總開關已開啟(即yarn.acl.enable=true)。

  • 在YARN服務的capacity-scheduler.xml中,確認Capacity Scheduler調度器的配置yarn.scheduler.capacity.root.acl_submit_applications= (配置值為單個空格)和yarn.scheduler.capacity.root.acl_administer_queue= hadoophadoop前有單個空格),表示所有隊列預設將隊列系統管理權限授權給hadoop組。

  • 確認除了上述root隊列ACL配置外沒有其他acl_submit_applications或者acl_administer_queue配置,避免YARN ACL影響Ranger鑒權預期結果。

操作步驟

  1. 進入叢集服務頁面。

    1. 登入E-MapReduce控制台

    2. 單擊目的地組群操作列的叢集服務

  2. Ranger啟用YARN。

    1. 集群服务頁面,單擊Ranger-plugin服務地區的状态

    2. 服務概述地區,開啟enableYARN開關。

    3. 在彈出的對話方塊中,單擊確定

  3. 重啟YARN ResourceManager。

    1. 叢集服務頁面,選擇more > YARN

    2. 在YARN叢集服務的狀態頁面,單擊ResourceManager操作列的重啟

    3. 在彈出的對話方塊中,輸入執行原因,單擊確定

    4. 確認對話方塊中,單擊確定

許可權配置樣本

Ranger啟用YARN後,已預設添加好了YARN Service。您可以使用YARN Service,授予emr-user使用者的隊列系統管理權限。

  1. 進入Ranger UI頁面,詳情請參見Ranger概述

  2. 在Ranger UI頁面,單擊配置好的emr-yarn

    emr-yarn

  3. 單擊右上方的Add New Policy

  4. 根據您的實際需求配置相關參數。

    create

    參數

    說明

    Policy Name

    策略名稱稱,可以自訂。

    Queue

    隊列名稱。例如root.default。

    recursive

    子隊列是否繼承該許可權。

    Select Group

    指定添加此策略的使用者組。

    Select User

    指定添加此策略的使用者。例如,emr-user。

    Permissions

    選擇授與權限。例如,admin-queue。

  5. 單擊Add

    添加Policy後,實現對emr-user的授權。emr-user使用者可以向root.default隊列提交作業。

    說明 添加、刪除或修改Policy後,需要等待約一分鐘至授權生效。