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

前提條件
已建立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= hadoop(hadoop前有單個空格),表示所有隊列預設將隊列系統管理權限授權給hadoop組。確認除了上述root隊列ACL配置外沒有其他
acl_submit_applications或者acl_administer_queue配置,避免YARN ACL影響Ranger鑒權預期結果。
操作步驟
進入叢集服務頁面。
單擊目的地組群操作列的叢集服務。
Ranger啟用YARN。
在集群服务頁面,單擊Ranger-plugin服務地區的状态。
在服務概述地區,開啟enableYARN開關。
在彈出的對話方塊中,單擊確定。
重啟YARN ResourceManager。
在叢集服務頁面,選擇。
在YARN叢集服務的狀態頁面,單擊ResourceManager操作列的重啟。
在彈出的對話方塊中,輸入執行原因,單擊確定。
在確認對話方塊中,單擊確定。
許可權配置樣本
Ranger啟用YARN後,已預設添加好了YARN Service。您可以使用YARN Service,授予emr-user使用者的隊列系統管理權限。
進入Ranger UI頁面,詳情請參見Ranger概述。
在Ranger UI頁面,單擊配置好的emr-yarn。

單擊右上方的Add New Policy。
根據您的實際需求配置相關參數。

參數
說明
Policy Name
策略名稱稱,可以自訂。Queue
隊列名稱。例如root.default。
recursive
子隊列是否繼承該許可權。
Select Group
指定添加此策略的使用者組。Select User
指定添加此策略的使用者。例如,emr-user。
Permissions
選擇授與權限。例如,admin-queue。
單擊Add。
添加Policy後,實現對emr-user的授權。emr-user使用者可以向root.default隊列提交作業。
說明 添加、刪除或修改Policy後,需要等待約一分鐘至授權生效。
> YARN