为已有集群配置LakeFormation数据连接
该章节指导用户为当前已有的MRS 3.3.0-LTS及之后版本集群对接LakeFormation。
前提条件
- MRS集群已开启Kerberos认证,且集群版本为MRS 3.3.0-LTS及之后版本。
- MRS集群已开启存算分离,数据存储在OBS中。
- 集群的区域与LakeFormation实例保持一致。集群的虚拟私有云与LakeFormation数据连接保持一致。
- 集群需包含Hadoop、Ranger、Hive、Guardian、Spark(可选)、Flink(可选)等组件。
- Ranger组件至少包含1个PolicySync(PSC)实例(该实例部署节点需要包含RangerAdmin实例)、Guardian组件至少包含2个TokenServer(TS)实例。
- 如果集群配置LakeFormation数据连接后再添加Spark组件,Spark配置对接LakeFormation只需要在数据连接中选择解绑Hive的LakeFormation数据连接,然后重新配置即可。
- MRS集群创建成功后,已通过MRS管理控制台同步IAM用户,且集群各服务运行正常。
- MRS集群中Hive、Spark等组件已开启Ranger鉴权。
配置MRS集群对接LakeFormation
- 登录MRS控制台,选择“现有集群”。
- 单击待对接的MRS名称进入集群“概览”页签。
- 单击“数据连接”右侧的“单击管理”,进入数据连接配置界面。
- 单击“配置LakeFormation数据连接”,在下拉框中选择创建LakeFormation数据连接记录的LakeFormation数据连接ID,单击“确定”。(如果已存在Hive的本地数据库数据连接,不需要解绑)
配置LakeFormation数据连接的功能,需要联系技术支持申请开通白名单。
图1 配置LakeFormation数据连接
- 单击“委托”后的“选择委托”,选择创建对接ECS/BMS云服务委托创建的委托名称。
如果当前MRS集群已绑定委托,请根据实际情况确认原委托的权限策略是否需要保留,如果需要保留请将其添加到创建对接ECS/BMS云服务委托创建的委托上,然后将该委托绑定到MRS集群上(修改后委托权限生效有一定延后性)。

- 登录MRS集群的FusionInsight Manager页面,具体操作请参考访问FusionInsight Manager(MRS 3.x及之后版本)。
- 配置Guardian。
- 在FusionInsight Manager界面,选择“集群 > 服务 > Guardian > 配置 > 全部配置”,搜索并修改以下参数后,单击“保存”。
表1 配置Guardian参数 参数
含义
取值
token.server.access.iam.domain.id
访问IAM的用户对应的账号 ID。
参考获取账号ID信息获取账号ID信息。
xxx
token.server.access.iam.project.id
访问IAM的用户对应的项目ID。
参考获取账号ID信息获取项目ID信息。
xxx
token.server.access.label.agency.name
指定IAM委托的名字,需要具有访问OBS的权限。
即创建对接OBS权限的委托创建的委托名称。
visit_obs_agency
fs.obs.delegation.token.providers
delegation.token的产生类名,默认为空。
此处同时勾选以下参数值:
- com.huawei.mrs.dt.MRSDelegationTokenProvider
- com.huawei.mrs.dt.GuardianDTProvider
com.huawei.mrs.dt.MRSDelegationTokenProvider,com.huawei.mrs.dt.GuardianDTProvider
fs.obs.guardian.accesslabel.enabled
是否开启使用Guardian对接OBS的access label。
true
fs.obs.guardian.enabled
是否开启使用Guardian。
true
- 进入Guardian服务“概览”页面,选择“更多 > 重启服务”。
- 在FusionInsight Manager界面,选择“集群 > 服务 > Guardian > 配置 > 全部配置”,搜索并修改以下参数后,单击“保存”。
- 配置Hive对接OBS文件系统。
- 在FusionInsight Manager界面,选择“集群 > 服务 > Hive > 配置 > 全部配置”。
- 在左侧的导航列表中选择“HiveServer > 自定义”。在自定义配置项中添加如下参数。
表2 HiveServer自定义参数配置说明 参数
描述
取值样例
hive.server.customized.configs
- 添加参数“hive.metastore.warehouse.dir”。
- 设置值为配置LakeFormation实例章节获取的hive Catalog在OBS中的存储路径。
- 名称:hive.metastore.warehouse.dir
- 值:obs://lakeformation-test/hive
hive.metastore.customized.configs
仅MRS 3.3.1及之后版本集群需要添加该参数。
- 添加参数“hive.metastore.warehouse.dir”。
- 设置值为配置LakeFormation实例章节获取的hive Catalog在OBS中的存储路径。
- 名称:hive.metastore.warehouse.dir
- 值:obs://lakeformation-test/hive
图2 hive.metastore.warehouse.dir配置
- 单击“保存”,保存配置。
- 配置Spark对接OBS文件系统。如果集群不存在Spark组件请跳过该步骤。
- 在FusionInsight Manager界面,选择“集群 > 服务 > Spark > 配置 > 全部配置”。
- 在左侧的导航列表中选择“JDBCServer > 自定义”,参考下表增加自定义参数及值。
表3 Spark参数配置 自定义参数
参数值
spark.hive-site.customized.configs
- 参数:hive.metastore.warehouse.dir
- 值:设置为配置LakeFormation实例章节获取的hive Catalog在OBS中的存储路径,例如“obs://lakeformation-test/hive”。
- 在左侧的导航列表中选择“SparkResource > 自定义”,参考表3配置参数。
- 单击“保存”,保存配置。
- 在MRS集群“组件管理”页签,查看是否存在“配置超期”的组件,如果存在请单击“操作”列的“重启”,重启相关组件。
- 重新下载并安装MRS集群完整客户端。具体操作请参考安装客户端。
- 如果需要在管理控制台执行作业提交操作,需要更新集群内置客户端配置文件。
在MRS集群概览页面,获取弹性IP,使用该IP登录Master节点,执行如下命令刷新集群内置客户端。
su - omm
sh /opt/executor/bin/refresh-client-config.sh
- 登录客户端安装节点,通过Hive客户端查看数据库,确认对接成功。
source 客户端安装路径/bigdata_env
kinit 组件业务用户
beeline
show databases;desc database default;
!q
- 通过Spark客户端,查看数据库,确认对接成功。如果集群不存在Spark组件请跳过该步骤。
source 客户端安装路径/Spark/component_env
spark-sql
show databases;desc database default;