配置MapReduce通过IAM委托访问OBS
参考配置MRS集群通过IAM委托对接OBS完成存算分离集群配置后,MapReduce服务还需参考本章节新增自定义配置。
MapReduce对接OBS
- 登录MRS管理控制台,单击集群名称进入集群详情页面。
- 选择“组件管理 > Mapreduce”,单击“服务配置”页签并进入Mapreduce服务“全部配置”页面,在左侧的导航列表中选择“Mapreduce > 自定义”。在自定义配置项中,给参数文件“core-site.xml”添加配置项“mapreduce.jobhistory.always-scan-user-dir”。
本参数用于控制JobHistory在扫描作业日志时是否始终包含用户目录下的日志文件,取值包含“true”和“false”
- true:JobHistory服务会强制扫描用户指定的目录,即使目录已经被扫描过,可以确保每次作业执行时,所有相关的日志文件都被正确地收集和处理。
- false(默认值):JobHistory服务将不会重复扫描已经处理过的用户目录,从而可以减少不必要的磁盘I/O操作。
需将该参数值设置为“true”。
图1 新增自定义参数 - 单击“保存配置”保存配置。
- 单击“服务状态”页签,选择“更多 > 重启服务”重启Mapreduce服务。
- 业务侧提交OBS作业并运行成功,则表示MapReduce对接OBS成功。例如,创建一个Hive表并指定Location为OBS路径:
- 登录安装了Hive客户端的节点,执行以下命令,认证的用户需具有创建Hive表的权限:
cd 客户端安装目录
加载环境变量:
source bigdata_env
认证用户,未开启Kerberos认证的集群请跳过此操作:
kinit 业务用户
- 执行以下命令登录Hive客户端:
beeline
- 创建Hive表并向表中插入数据。
- 创建表:
create table test(name string) location "obs://OBS并行文件系统名称/user/hive/warehouse/数据库名/表名";
- 表创建成功后,可执行以下命令查看表的Location:
desc formatted test;
查看到的表的Location为OBS路径:
图2 查看表的Location - 插入数据:
insert into table test values("A");
- 执行以下命令查询表数据:
select * from test;
- 创建表:
- 登录FusionInsight Manager界面,选择“集群 > 服务 > Yarn”,单击“ResourceManager WebUI”右侧的超链接进入Yarn WebUI界面,在“All Applications”页面,单击Hive任务对应的Application ID可查看作业的运行信息。其中,“Application Type”为“MAPREDUCE”即表示提交到OBS的作业类型为MapReduce作业。
图3 查看作业运行信息
- 单击页面下方的“Logs”列的“Logs”链接,可查看作业的日志信息。
- 登录安装了Hive客户端的节点,执行以下命令,认证的用户需具有创建Hive表的权限: