更新时间:2025-06-19 GMT+08:00
分享

配置MapReduce通过IAM委托访问OBS

参考配置MRS集群通过IAM委托对接OBS完成存算分离集群配置后,MapReduce服务还需参考本章节新增自定义配置。

MapReduce对接OBS

  1. 登录MRS管理控制台,单击集群名称进入集群详情页面。
  2. 选择“组件管理 > Mapreduce”,单击“服务配置”页签并进入Mapreduce服务“全部配置”页面,在左侧的导航列表中选择“Mapreduce > 自定义”。在自定义配置项中,给参数文件“core-site.xml”添加配置项“mapreduce.jobhistory.always-scan-user-dir”。

    本参数用于控制JobHistory在扫描作业日志时是否始终包含用户目录下的日志文件,取值包含“true”和“false”

    • true:JobHistory服务会强制扫描用户指定的目录,即使目录已经被扫描过,可以确保每次作业执行时,所有相关的日志文件都被正确地收集和处理。
    • false(默认值):JobHistory服务将不会重复扫描已经处理过的用户目录,从而可以减少不必要的磁盘I/O操作。

    需将该参数值设置为“true”。

    图1 新增自定义参数

  3. 单击“保存配置”保存配置。
  4. 单击“服务状态”页签,选择“更多 > 重启服务”重启Mapreduce服务。
  5. 业务侧提交OBS作业并运行成功,则表示MapReduce对接OBS成功。例如,创建一个Hive表并指定Location为OBS路径:

    1. 登录安装了Hive客户端的节点,执行以下命令,认证的用户需具有创建Hive表的权限:

      切换至客户端安装目录:

      cd 客户端安装目录

      加载环境变量:

      source bigdata_env

      认证用户,未开启Kerberos认证的集群请跳过此操作:

      kinit 业务用户
    2. 执行以下命令登录Hive客户端:
      beeline
    3. 创建Hive表并向表中插入数据。
      1. 创建表:
        create table test(name string) location "obs://OBS并行文件系统名称/user/hive/warehouse/数据库名/表名";
      2. 表创建成功后,可执行以下命令查看表的Location:
        desc formatted test;

        查看到的表的Location为OBS路径:

        图2 查看表的Location
      3. 插入数据:
        insert into table test values("A");
      4. 执行以下命令查询表数据:
        select * from test;
    4. 登录FusionInsight Manager界面,选择“集群 > 服务 > Yarn”,单击“ResourceManager WebUI”右侧的超链接进入Yarn WebUI界面,在“All Applications”页面,单击Hive任务对应的Application ID可查看作业的运行信息。其中,“Application Type”为“MAPREDUCE”即表示提交到OBS的作业类型为MapReduce作业。
      图3 查看作业运行信息
    5. 单击页面下方的“Logs”列的“Logs”链接,可查看作业的日志信息。

相关文档