更新时间:2024-11-29 GMT+08:00

配置Guardian服务对接OBS

操作场景

该章节指导用户开启Guardian组件存算分离操作。开启后Guardian可以在存算分离场景下为HDFS、Hive、Spark、Loader、HetuEngine等服务提供访问OBS的临时认证凭据。

配置Guardian服务对接OBS主要操作如下:

  1. 创建OBS并行文件系统
  2. 创建云服务委托并绑定集群
  3. 创建普通账号委托
  4. 配置云服务委托
  5. 为Guardian组件配置访问OBS权限
  6. 开启Hive表的级联授权功能
  7. 配置回收站清理策略

前提条件

  • 集群已安装Guardian、Ranger、Hadoop等组件。
  • 如果安装Hadoop、HetuEngine、Hive、Spark等组件后,再安装Guardian,则需要重新下载客户端,并对管理面作业提交的默认客户端进行刷新。

对系统的影响

  • 配置完该章节操作后,原始的客户端需要重新刷新配置,或重新安装客户端。
  • 如果需要在管理控制台执行作业提交操作,需要使用omm用户登录主OMS节点并执行sh /opt/executor/bin/refresh-client-config.sh命令刷新集群内置客户端。

创建OBS并行文件系统

  1. 登录OBS控制台。
  2. 选择“并行文件系统 > 创建并行文件系统”。
  3. 填写文件系统名称,例如“guardian-obs”。

    企业项目需要与MRS集群保持一致,其他参数请根据需要填写。

  4. 单击“立即创建”。

创建云服务委托并绑定集群

  1. 登录管理控制台。
  2. 在服务列表中选择“管理与监管 > 统一身份认证服务 IAM”。
  3. 选择“委托 > 创建委托”。
  4. 设置“委托名称”。例如:mrs_ecs_obs。
  5. “委托类型”选择“云服务”,在“云服务”中选择“弹性云服务器ECS 裸金属服务器 BMS”,授权ECS或BMS调用OBS服务。
  6. “持续时间”选择“永久”并单击“下一步”。
  7. 在弹出授权页面的搜索框内,搜索“OBS OperateAccess”策略,勾选“OBS OperateAccess”策略。
  8. 单击“下一步”,在“选择权限范围方案”中选择“全局服务资源”,单击“确定”。
  9. 在弹出的提示框中单击“知道了”,开始授权。界面提示“授权成功。”,单击“完成”,委托成功创建。
  10. 登录MRS控制台,在导航栏选择“集群列表 > 现有集群”。
  11. 单击集群名称,进入集群详情页面。
  12. 在集群详情页的“概览”页签,单击“IAM用户同步”右侧的“同步”进行IAM用户同步。
  13. 在集群详情页的“概览”页签,单击委托右侧的“管理委托”选择创建的委托名称,例如“mrs_ecs_obs”,单击“确定”进行绑定。

创建普通账号委托

  1. 登录管理控制台。
  2. 在服务列表中选择“管理与监管 > 统一身份认证服务 IAM”。
  3. 选择“委托 > 创建委托”。
  4. 设置“委托名称”。例如:agency-MRS-to-OBS。
  5. “委托类型”选择“普通账号”。
  6. “委托的账号”:填写本用户的云账号,即使用手机号开通的账号,不能是联邦用户或者IAM用户。
  7. “持续时间”选择“永久”并单击“下一步”。
  8. 在弹出授权页面的搜索框内,搜索“OBS Administrator”策略,勾选“OBS Administrator”策略。
  9. 单击“下一步”,在“选择授权范围”中勾选“全局服务资源”,单击“确定”。
  10. 创建完成后,将鼠标放在新建的委托上,记录下委托ID。

配置云服务委托

  1. 登录管理控制台。
  2. 在服务列表中选择“管理与监管 > 统一身份认证服务”。
  3. 选择“委托”,单击创建云服务委托并绑定集群中创建云服务委托名称“mrs_ecs_obs”。
  4. 选择“授权记录 > 授权”,单击右上角的“新建策略”,参数配置如下:
    • 策略名称:自定义策略名,例如“guardian-assume-policy”。
    • 策略配置方式:选择“JSON视图”。
    • 策略内容:配置如下(其中“{委托id}”为10记录的ID
      {
          "Version": "1.1",
          "Statement": [
              {
                  "Action": [
                      "iam:agencies:assume"
                  ],
                  "Resource": {
                      "uri": [
                          "/iam/agencies/{委托id}"
                      ]
                  },
                  "Effect": "Allow"
              }
          ]
      }
  5. 单击“下一步”,在“选择策略”页面勾选4创建的策略名称。
  6. 单击“下一步”,在“选择权限范围方案”中选择“全局服务资源”,单击“确定”。

为Guardian组件配置访问OBS权限

  1. 登录FusionInsight Manager,选择“集群 > 服务 > Guardian > 配置 > 全部配置”搜索并修改以下参数。

    参数

    含义

    取值

    fs.obs.guardian.accesslabel.enabled

    是否开启使用Guardian对接OBS的access label。

    true

    fs.obs.guardian.enabled

    是否开启使用Guardian。

    true

    fs.obs.delegation.token.providers

    delegation token生成器,当fs.obs.guardian.enabled=true时,需要同时配置com.xxx.mrs.dt.MRSDelegationTokenProvider和com.xxx.mrs.dt.GuardianDTProvider。

    com.xxx.mrs.dt.MRSDelegationTokenProvider和com.xxx.mrs.dt.GuardianDTProvider

    token.server.access.label.agency.name

    指定IAM委托的名字,即创建普通账号委托创建的IAM委托名称。

    agency-MRS-to-OBS

  2. 保存服务配置,然后在FusionInsight Manager主页中选择“更多 > 重启配置过期的实例”,根据界面提示重启所有配置过期的服务实例。
  3. 如果需要通过MRS管理控制台提交作业,使用omm用户登录主OMS节点,执行以下命令刷新内置客户端配置:

    sh /opt/executor/bin/refresh-client-config.sh

开启Hive表的级联授权功能

  1. 在FusionInsight Manager界面,选择“集群 > 服务 > Ranger > 配置”。
  2. 在搜索框中搜索参数“ranger.ext.authorization.cascade.enable”,修改该参数值为“true”。

  3. 单击“保存”,保存配置。
  4. 配置保存成功后,单击“实例”,勾选所有RangerAdmin实例,选择“更多 > 重启实例”,在弹出对话框输入密码,单击“确定”,重启所有RangerAdmin实例。

配置回收站清理策略

  1. 登录OBS控制台。
  2. 选择“并行文件系统”,单击创建OBS并行文件系统的文件系统名称。
  3. 选择“基础配置 > 生命周期规则”,单击“创建”,创建“/user/.Trash”目录的生命周期规则。

    配置集群使用存算分离方案后,必须参考本章节内容配置相关目录的生命周期策略,否则会有存储空间被占满以及增加存储资源费用的风险。

    表1 生命周期规则创建参数

    参数名称

    描述

    示例

    状态

    是否启用本条生命周期规则。

    启用

    规则名称

    规则名称,可自定义,用于识别不同的生命周期配置。

    rule-test

    前缀

    生命周期规则适用的对象前缀,MRS集群组件数据回收站目录为“/user/.Trash”。

    user/.Trash

    转换为低频访问存储天数

    指定在对象最后一次更新后多少天,受规则影响的对象将转换为低频访问存储。至少设置为30天。

    30天

    转换为归档存储天数

    指定在对象最后一次更新后多少天,受规则影响的对象将转换为归档存储。若同时设置转换为低频访问存储和转换为归档存储,则转换为归档存储的时间要比转换为低频访问存储的时间至少长30天。若单独设置转换为归档存储,则没有时间限制。

    31天

    文件过期删除天数

    指定在对象最后一次更新后多少天,受规则影响的对象将过期并自动被OBS删除。过期时间必须大于前两个转换时间的最大值。

    32天

    碎片过期删除天数

    受规则影响的碎片将过期并自动被OBS删除。

    30天

  4. 单击“确定”,完成生命周期规则配置。

    若您需修改生命周期的内容,请单击该生命周期规则所在行右侧的“编辑”进行编辑;单击“禁用”,可以禁用该生命周期规则。单击“启用”,可启用该生命周期规则。