配置Guardian服务对接OBS
操作场景
该章节指导用户开启Guardian组件存算分离操作。开启后Guardian可以在存算分离场景下为HDFS、Hive、Spark、Loader、HetuEngine等服务提供访问OBS的临时认证凭据。
配置Guardian服务对接OBS主要操作如下:
前提条件
- 集群已安装Guardian、Ranger、Hadoop等组件。
- 如果安装Hadoop、HetuEngine、Hive、Spark等组件后,再安装Guardian,则需要重新下载客户端,并对管理面作业提交的默认客户端进行刷新。
- 如果当前集群未启用Kerberos认证,访问OBS的用户,需要属于supergroup组。可登录FusionInsight Manager界面,选择“系统 > 权限 > 用户”,在用户列表中单击用户所在行的“修改”,在“用户组”中为该用户绑定“supergroup”组即可。
- 需排查OBS是否开启AccessLabel功能,若未开启,需手动开启,详细操作请联系OBS运维人员。
对系统的影响
- 配置完该章节操作后,原始的客户端需要重新刷新配置,或重新安装客户端。
- 如果需要在管理控制台执行作业提交操作,需要使用omm用户登录主OMS节点并执行sh /opt/executor/bin/refresh-client-config.sh命令刷新集群内置客户端。
创建普通账号委托
- 登录华为云管理控制台。
- 在服务列表中选择“管理与监管 > 统一身份认证服务 IAM”。
- 选择“委托 > 创建委托”。
- 在创建委托页面配置以下参数,并单击“完成”:
- 委托名称:设置委托名称,例如:agency-MRS-to-OBS。
- 委托类型:选择“普通账号”。
- 委托的账号:填写本用户的云账号,即使用手机号开通的账号,不能是联邦用户或者IAM用户。
- 持续时间:选择“永久”。
- 在授权的确认弹窗中,单击“立即授权”,在弹出的授权页面,单击“新建策略”。
在新建策略界面配置以下参数并单击“下一步”:
- 策略名称:自定义策略名称,例如“guardian-policy”。
- 策略配置方式:选择“JSON视图”。
- 策略内容配置如下:
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:bucket:GetBucketLocation", "obs:bucket:ListBucketMultipartUploads", "obs:object:GetObject", "obs:object:ModifyObjectMetaData", "obs:object:DeleteObject", "obs:object:ListMultipartUploadParts", "obs:bucket:HeadBucket", "obs:object:AbortMultipartUpload", "obs:bucket:ListBucket", "obs:object:PutObject", "obs:object:GetAccessLabel", "obs:object:DeleteAccessLabel", "obs:object:PutAccessLabel", "obs:bucket:ListAllMyBuckets" ], "Resource": [ "OBS:*:*:bucket:guardian-obs", "OBS:*:*:object:*" ] } ] }
上述的“Resource”配置表示可访问配置的并行文件系统系统的所有资源,guardian-obs为创建OBS并行文件系统创建的OBS并行文件系统名称。
- 单击“下一步”,在“选择策略”页面勾选5创建的策略名称。
- 单击“下一步”,在“选择授权范围”中勾选“全局服务资源”,单击“确定”。
- 创建完成后,将鼠标放在新建的委托上,记录下委托ID,如下图所示。
图1 查看委托ID
创建云服务委托并绑定集群
- 登录华为云管理控制台。
- 在服务列表中选择“管理与监管 > 统一身份认证服务 IAM”。
- 选择“委托 > 创建委托”。
- 设置“委托名称”。例如:mrs_ecs_obs。
- “委托类型”选择“云服务”,在“云服务”中选择“弹性云服务器ECS 裸金属服务器 BMS”,授权ECS或BMS调用OBS服务。
图2 创建委托
- “持续时间”选择“永久”并单击“完成”。
- 在授权的确认弹窗中,单击“立即授权”,在弹出的授权页面,单击“新建策略”。
在新建策略界面配置以下参数并单击“下一步”:
- 策略名称:自定义策略名称,例如“guardian-assume-policy”。
- 策略配置方式:选择“JSON视图”。
- 策略内容配置如下(其中“{委托id}”为8记录的ID):
{ "Version": "1.1", "Statement": [ { "Action": [ "iam:agencies:assume" ], "Resource": { "uri": [ "/iam/agencies/{委托id}" ] }, "Effect": "Allow" } ] }
- 单击“下一步”,在“选择策略”页面勾选7创建的策略名称。
- 单击“下一步”,在“选择权限范围方案”中选择“全局服务资源”,单击“确定”。
- 在弹出的提示框中单击“知道了”,开始授权。界面提示“授权成功。”,单击“完成”,委托成功创建。
- 登录MRS控制台,在导航栏选择“现有集群”。
- 单击集群名称,进入集群详情页面。
- 在集群详情页的“概览”页签,单击“IAM用户同步”右侧的“同步”进行IAM用户同步。
- 在集群详情页的“概览”页签,单击委托右侧的“管理委托”选择创建的委托名称,例如“mrs_ecs_obs”,单击“确定”进行绑定。
图3 绑定委托
为Guardian组件配置访问OBS权限
- 登录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.huawei.mrs.dt.MRSDelegationTokenProvider和com.huawei.mrs.dt.GuardianDTProvider。
com.huawei.mrs.dt.MRSDelegationTokenProvider和com.huawei.mrs.dt.GuardianDTProvider
token.server.access.label.agency.name
指定IAM委托的名字,即创建普通账号委托创建的IAM委托名称。
agency-MRS-to-OBS
- 保存服务配置,然后在FusionInsight Manager主页中选择“更多 > 重启配置过期的实例”,根据界面提示重启所有配置过期的服务实例。
- 如果需要通过MRS管理控制台提交作业,使用omm用户登录主OMS节点,执行以下命令刷新内置客户端配置:
sh /opt/executor/bin/refresh-client-config.sh
开启Hive表的级联授权功能
- 在FusionInsight Manager界面,选择“集群 > 服务 > Ranger > 配置”。
- 在搜索框中搜索参数“ranger.ext.authorization.cascade.enable”,修改该参数值为“true”。
- 单击“保存”,保存配置。
- 配置保存成功后,单击“实例”,勾选所有RangerAdmin实例,选择“更多 > 重启实例”,在弹出对话框输入密码,单击“确定”,重启所有RangerAdmin实例。
仅开启Kerberos认证的集群支持OBS级联授权。
配置回收站清理策略
- 登录OBS控制台。
- 选择“并行文件系统”,单击创建OBS并行文件系统的文件系统名称。
- 选择“基础配置 > 生命周期规则”,单击“创建”,创建“/user/.Trash”目录的生命周期规则。
配置集群使用存算分离方案后,必须参考本章节内容配置相关目录的生命周期策略,否则会有存储空间被占满以及增加存储资源费用的风险,关于OBS更多计费说明请参考OBS计费概述。
表1 生命周期规则创建参数 参数名称
描述
示例
状态
是否启用本条生命周期规则。
启用
规则名称
规则名称,可自定义,用于识别不同的生命周期配置。
rule-test
前缀
生命周期规则适用的对象前缀,MRS集群组件数据回收站目录为“/user/.Trash”。
user/.Trash
转换为低频访问存储天数
指定在对象最后一次更新后多少天,受规则影响的对象将转换为低频访问存储。至少设置为30天。
30天
转换为归档存储天数
指定在对象最后一次更新后多少天,受规则影响的对象将转换为归档存储。若同时设置转换为低频访问存储和转换为归档存储,则转换为归档存储的时间要比转换为低频访问存储的时间至少长30天。若单独设置转换为归档存储,则没有时间限制。
31天
文件过期删除天数
指定在对象最后一次更新后多少天,受规则影响的对象将过期并自动被OBS删除。过期时间必须大于前两个转换时间的最大值。
32天
碎片过期删除天数
受规则影响的碎片将过期并自动被OBS删除。
30天
- 单击“确定”,完成生命周期规则配置。
若您需修改生命周期的内容,请单击该生命周期规则所在行右侧的“编辑”进行编辑;单击“禁用”,可以禁用该生命周期规则。单击“启用”,可启用该生命周期规则。