Ranger简介中介绍了E-MapReduce中创建启动Ranger服务的集群,以及一些准备工作,本节介绍HDFS集成Ranger的一些步骤流程。

HDFS 集成 Ranger

  • 登录阿里云E-MapReduce控制台
  • 启动HDFS。
    1. 单击上方的集群管理
    2. 集群管理页面,单击相应集群所在行的详情
    3. 在左侧导航栏单击集群服务 > RANGER
    4. 单击右侧的操作下拉菜单,选择 启用HDFSEnable HDFS PLUGIN
    5. 在弹出框输入执行Commit记录,然后单击确定

      单击右上角查看操作历史查看任务进度,等待任务完成。

  • 重启NameNode

    上述任务完成后,需要重启NameNode才生效。

    1. 左侧导航栏单击集群服务 > HDFS
    2. 单击右上角操作下拉菜单,选择重启 All Components
    3. 在弹出框输入执行Commit记录,然后单击确定
    4. 单击右上角查看操作历史查看任务进度,等待重启任务完成。
  • Ranger UI添加HDFS service
    1. 进入Ranger UI页面,详情请参见Ranger简介
    2. 在Ranger的UI页面添加HDFS Service。Ranger UI
    3. 配置相关参数。
      参数 说明
      Service Name 固定值emr-hdfs。
      Username 自定义。
      Password 自定义。
      Namenode URL 标准集群输入hdfs://emr-header1:9000;高安全集群输入hdfs://emr-header1:8020
      Authorization Enabled 标准集群选择No;高安全集群选择Yes
      Authentication Type 包括:
      • Simple:表示标准集群(非高安全集群)。
      • Kerberos:表示高安全集群。
      dfs.datanode.kerberos.principal 标准集群时不填写;高安全集群时填写hdfs/_HOST@EMR.${cluster_id}.com
      dfs.namenode.kerberos.principal
      dfs.secondary.namenode.kerberos.principal
      Add New Configurations 标准集群时不填写;高安全集群时填写如下。
      • Name:固定值policy.download.auth.users
      • Value:固定值hdfs

权限配置示例

上面一节中已经将Ranger集成到HDFS,现在可以进行相关的权限设置。例如给用户test授予 /user/foo路径的写/执行权限:

  1. 单击配置好的emr-hdfs权限配置示例
  2. 单击右上角的Add New Policy
  3. 配置相关参数。
    参数 说明
    Policy Name 可自定义。
    Resoure Path 资源路径。
    Recursive 子目录/文件是否集成权限。
    Select Group User/Group 会自动从集群中同步过来,大约需要一分钟,用户可以事先将它们添加到集群。
    Select User
    Permissions 选择授予的权限。
  4. 单击add。添加一个Policy后,就实现了对test用户的授权,然后用户test就可以对 /user/foo的HDFS路径进行访问了。
    说明 Policy添加后需要1分钟左右才会生效。