本文介紹了Spark如何開啟Ranger權限控制,以及Ranger Spark權限配置說明。
前提條件
已創建DataLake集群,并選擇了Ranger服務,創建集群詳情請參見創建集群。
注意事項
Spark開啟Ranger權限控制后,Ranger Spark plugin會加載到Spark ThriftServer服務當中,僅在您通過Spark ThriftServer提交Spark SQL作業時進行權限校驗,其他方式提交Spark作業將不會觸發權限校驗。
支持權限校驗的訪問方式
Beeline客戶端訪問Spark ThriftServer。
通過JDBC URL連接Spark ThriftServer。
不支持權限校驗的訪問方式
通過Spark-SQL客戶端提交Spark SQL作業。
通過Spark-Submit提交Spark作業。
通過Pyspark客戶端提交Spark SQL作業。
高安全集群(Kerberos集群模式)無法使用該功能。
通過Kyuubi訪問湖格式表時,暫不支持Ranger權限控制。
湖格式表的權限控制當前僅支持Hudi和Delta,且支持的版本如下:
EMR 3.42.0及以上版本。
EMR 5.8.0及以上版本。
配置方法
進入集群服務頁面。
頂部菜單欄處,根據實際情況選擇地域和資源組。
在集群管理頁面,單擊目標集群操作列的集群服務。
Ranger啟用Spark。
在集群服務頁面,單擊Ranger-plugin服務區域的狀態。
在服務概述區域,打開enableSpark3開關。
說明本文以Spark3為例。
在彈出的對話框中,單擊確定。
重啟Spark ThriftServer。
在集群服務頁面,單擊SPARK服務區域的狀態。
在組件列表區域,單擊SparkThriftServer操作列的重啟。
在彈出的對話框中,輸入執行原因,單擊確定。
在確認對話框中,單擊確定。
權限配置
Ranger權限配置需要在Ranger UI頁面完成,如何進入Ranger UI頁面,詳情請參見訪問Ranger UI。Ranger Spark權限需要單擊HADOOP SQL下的emr-hive進行配置。
Ranger Spark與Ranger Hive使用相同的Ranger Service(emr-hive)進行權限管理,相關權限配置的方式是一樣的,有關權限配置的詳細介紹請參見文檔配置Hive開啟Ranger權限控制。