更新时间:2024-06-12 GMT+08:00
分享

准备MRS应用开发用户

操作场景

开发用户用于运行样例工程。进行不同服务的组件开发时,需要赋予不同的用户权限。

操作步骤

  1. 登录FusionInsight Manager。
  2. 在FusionInsight Manager界面选择系统 > 权限 > 角色 > 添加角色

    1. 填写角色的名称,例如developrole,单击“确定”保存角色。
    2. 参考如何判断某个服务是否使用了Ranger鉴权,确认服务是否启用了Ranger鉴权?
      • 是,执行3
      • 否,编辑角色,根据服务的权限控制类别添加业务开发时需要的权限,参见表1
        表1 权限列表

        服务

        所需添加权限

        HDFS

        在“配置资源权限”的表格中选择“待操作集群的名称 > HDFS > 文件系统”,勾选“hdfs://hacluster”的“读”、“写”和“执行”,单击“确定”保存。

        Mapreduce/Yarn

        1. 在“配置资源权限”的表格中选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/”,勾选“user”的“读”、“写”和“执行”。继续选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ > user”,勾选“mapred”的“读”、“写”、“执行”;

          如果要执行多组件用例,还需:

          选择“待操作集群的名称 > HBase > HBase Scope > global”勾选“default”的“创建”。

          选择“待操作集群的名称 > HBase > HBase Scope > global > hbase”,勾选“hbase:meta”的“执行”。

          选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ > user”,勾选“hive”的“读”、“写”、“执行”。

          选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ > user > hive”,勾选“warehouse”的“读”、“写”、“执行”。

          选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ > tmp”,勾选“hive-scratch”的“读”、“写”、“执行”,若存在“examples” ,勾选“examples”的“读”、“写”、“执行”和“递归”。

          选择“待操作集群的名称 > Hive > Hive读写权限”,勾选“default”的 “查询”、“插入”、“建表”、“递归”。单击“确定”保存。

        2. 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > Yarn > 调度队列 > root”,勾选default的“提交”,单击“确定”保存。

        HBase

        在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope ”,勾选“global”的“管理”、“创建”、“读”、“写”和“执行”,单击“确定”保存。

        Spark2x

        1. (若安装了HBase,则配置)在“配置资源权限”表格中选择“待操作集群的名称 > HBase > HBase Scope > global”,勾选“default”的“创建”,单击“确定”保存。
        2. (若安装了HBase,则配置)编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope > global > hbase”,勾选“hbase:meta”的“执行”,单击“确定”保存。
        3. 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ > user”,勾选“hive”的“执行”,单击“确定”保存。
        4. 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ >user >hive”,勾选“warehouse”的“读”、“写”和“执行”,单击“确定”保存。
        5. 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > Hive > Hive读写权限”,勾选“default”的“建表”,单击“确定”保存。
        6. 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > Yarn > 调度队列 > root”,勾选“default”的“提交”,单击“确定”保存。

        Hive

        在“配置资源权限”的表格中选择“待操作集群的名称 > Yarn > 调度队列 > root”,勾选“default”的“提交”和“管理”,单击“确定”保存。

        说明:

        Hive应用开发需要到的额外的操作权限需要从系统管理员处获取。

        ClickHouse

        在“配置资源权限”的表格中选择“待操作集群的名称 > ClickHouse > Clickhouse Scope”,勾选对应数据库的创建权限。单击对应的数据库名称,根据不同任务场景,勾选对应表的“读”、“写”权限,单击“确定”保存。

        IoTDB

        1. 在“配置资源权限”的表格中选择“待操作集群的名称 > IoTDB > 普通用户权限”,勾选root根目录的“设置存储组”权限后,单击“确定”保存,创建不同的存储组。

        2. 在“配置资源权限”的表格中选择“待操作集群的名称 > IoTDB > 普通用户权限 > root”,选择对应的存储组,根据不同任务场景,勾选对应的“创建”、“修改”、“写”、“读”或“删除”权限,单击“确定”保存。

        HetuEngine

        1. 在“配置资源权限”的表格中选择“待操作集群的名称 > Hive ”,勾选“Hive管理员权限”。
        2. 在“配置资源权限”的表格中选择“待操作集群的名称 > Hive > Hive读写权限”,根据不同任务场景,勾选不同权限,单击“确定”保存。
          说明:
          • 在默认数据库中,查询其他用户表的权限:勾选“查询”。
          • 在默认数据库中,导入数据到其他用户表的权限:勾选“删除”和“插入”。

        Flink

        1. 在“配置资源权限”的表格中选择待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ > flink ,勾选“读”“写”和“执行”,单击“配置资源权限”表格中“服务”返回。
        2. 在“配置资源权限”的表格中选择待操作集群的名称 > Yarn > 调度队列 > root,勾选default的“提交”,单击“确定”保存。
          说明:

          若指定state backend为HDFS,例如指定state backend目录为"hdfs://hacluster/flink-checkpoint",需同样为"hdfs://hacluster/flink-checkpoint"目录配置“读”“写”“执行”权限。

        Kafka

        -

        Impala

        -

        Oozie

        1. 在“配置资源权限”的表格中选择“待操作集群的名称 > Oozie > 普通用户权限”,单击“确定”保存。
        2. 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > HDFS > 文件系统” ,勾选“hdfs://hacluster”的“读”、“写”和“执行”,单击“确定”保存。
        3. 编辑角色,在“权限”表格中选择“待操作集群的名称 > Yarn”,勾选“集群管理操作权限”,单击“确定”保存。

  3. 单击系统 > 权限 > 用户组 > 添加用户组,为样例工程创建一个用户组,例如developgroup
  4. 单击系统 > 权限 > 用户 > 添加用户,为样例工程创建一个用户。
  5. 填写用户名,例如developuser,按照表2选择相应的用户类型和需加入的用户组,并绑定角色developrole取得权限,单击“确定”

    表2 用户类型和用户组列表

    服务

    用户类型

    需加入的用户组

    HDFS

    机机

    加入developgroupsupergroup组,设置其“主组”supergroup

    Mapreduce/Yarn

    机机

    加入developgroup组。

    HBase

    机机

    加入hadoop组。

    Spark

    机机/人机

    加入developgroup组。

    若用户需要对接Kafka,则需要添加kafkaadmin用户组。

    Hive

    机机/人机

    加入hive组。

    Kafka

    机机

    加入kafkaadmin组。

    Impala

    机机

    加入impala和supergroup组,设置其“主组”supergroup

    HetuEngine

    人机

    加入hive组,设置其“主组”为hive。

    ClickHouse

    人机

    加入developgroupsupergroup组,设置其“主组”supergroup

    Oozie

    人机

    加入hadoop、supergroup、hive组。若使用Hive多实例,该用户还需要从属于具体的Hive实例组,如hive3。

    Flink

    人机

    加入developgrouphadoop组。设置其“主组”developgroup

    说明:

    若用户需要对接Kafka,则需创建具有Flink和Kafka组件的混合集群,或者为拥有Flink组件的集群和拥有Kafka组件的集群配置跨集群互信,并将创建的Flink用户加入“kafkaadmin”用户组。

    IoTDB

    机机

    加入iotdbgroup组。

  6. 如果服务启用了Ranger鉴权,创建完成用户后,除了系统默认用户组及默认角色的权限外,需通过Ranger WebUI为用户或者用户所关联的角色/用户组进行赋权,具体操作可参考配置组件权限策略相关访问权限策略设置章节。
  7. 在FusionInsight Manager界面选择系统 > 权限 > 用户,在用户名中选择developuser,单击操作“更多 > 下载认证凭据”下载认证凭据文件,保存后解压得到用户的“user.keytab”文件与“krb5.conf”文件。Keytab文件用于在样例工程中进行安全认证,具体使用请参考各服务的开发指南指导。

    如果用户类型是人机,需要先修改初始密码后再下载认证凭据文件,否则在使用时会提示“Password has expired - change password to reset”,导致安全认证失败。

相关文档