配置Spark开启Ranger权限控制

本文介绍了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及以上版本。

配置方法

  1. 进入集群服务页面。

    1. 登录EMR on ECS控制台

    2. 顶部菜单栏处,根据实际情况选择地域和资源组。

    3. 集群管理页面,单击目标集群操作列的集群服务

  2. Ranger启用Spark。

    1. 集群服务页面,单击Ranger-plugin服务区域的状态

    2. 服务概述区域,打开enableSpark3开关。

      说明

      本文以Spark3为例。

    3. 在弹出的对话框中,单击确定

  3. 重启Spark ThriftServer。

    1. 集群服务页面,单击SPARK服务区域的状态

    2. 组件列表区域,单击SparkThriftServer操作列的重启

    3. 在弹出的对话框中,输入执行原因,单击确定

    4. 确认对话框中,单击确定

权限配置

Ranger权限配置需要在Ranger UI页面完成,如何进入Ranger UI页面,详情请参见访问Ranger UI。Ranger Spark权限需要单击HADOOP SQL下的emr-hive进行配置。

Ranger Spark与Ranger Hive使用相同的Ranger Service(emr-hive)进行权限管理,相关权限配置的方式是一样的,有关权限配置的详细介绍请参见文档配置Hive开启Ranger权限控制