文档首页/ MapReduce服务 MRS/ 故障排除/ 存算分离类/ 没有/tmp目录权限导致执行访问OBS的作业报错
更新时间:2024-11-01 GMT+08:00
分享

没有/tmp目录权限导致执行访问OBS的作业报错

问题现象

在使用MRS多用户访问OBS的场景中,执行Spark、Hive、Presto等作业时,出现“/tmp”目录没有权限的报错。

问题原因

作业执行过程中有临时目录,提交作业的用户对临时目录没有操作权限。

解决方法

  1. 在集群“概览”页签中,查询并记录集群所绑定的委托名称。
  2. 登录IAM服务控制台。
  3. 选择“权限 > 创建自定义策略”。

    • 策略名称:请输入策略名称。
    • 作用范围:请选择“全局级服务”。
    • 策略配置方式:请选择“可视化视图”。
    • 策略内容:
      1. “允许”选择“允许”。
      2. “云服务”选择“对象存储服务 (OBS)”。
      3. “操作”勾选所有“写”、“列表”和“只读”权限。
      4. “特定资源”选择:
        1. “object”选择“通过资源路径指定”,并单击“添加资源路径”分别在“路径”中输入obs_bucket_name/tmp/obs_bucket_name/tmp/*。此处以/tmp目录为例,如需其他目录权限请参考该步骤添加对应目录及该目录下所有对象的资源路径。
        2. “bucket”选择“通过资源路径指定”,并单击“添加资源路径”在“路径”中输入obs_bucket_name

        其中obs_bucket-name请使用实际的OBS桶名替换。若桶类型为“并行文件系统”需要再添加obs_bucket_name/tmp/路径,桶类型为“对象存储”则不需要添加obs_bucket_name/tmp/路径。

      5. (可选)请求条件,暂不添加。
    图1 自定义策略

  4. 单击“确定”完成策略添加。
  5. 选择“委托”,并在1中查询到的委托所在行的“操作”列单击“权限配置”。
  6. 查询并勾选3中创建的策略。
  7. 单击“确定”完成委托权限配置。

相关文档