本文介绍了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权限控制。
-
EMR-5.18.0及以上版本。
-
EMR-3.52.0及以上版本。
-
-
湖格式表的权限控制支持的格式及其版本情况如下:
-
Hudi和Delta格式:
-
EMR 3.42.0及以上版本。
-
EMR 5.8.0及以上版本。
-
-
Iceberg格式:
-
EMR 3.52.0及以上版本。
-
EMR 5.18.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权限控制。