本文介绍了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权限控制。