访问OSS出现CopyNotExcecuted问题

本文介绍JindoSDK访问OSS时,出现CopyNotExcecuted问题的原因和解决方法。

问题详情

java.io.IOException: ErrorCode : 25201 , ErrorMsg: OSS Op Error. [ErrorMessage]: Error in xxxxxxxxxx/.hive-staging_hive_xxxxxxxxxxx/_tmp.-ext-10002/xxxxx to xxxxxxxxxx/.hive-staging_hive_xxxxxxxxxxx/_tmp.-ext-10002.moved/xxxx, err: CopyNotExcecuted;

问题原因

CopyNotExcecuted是OSS服务端的异常,通常是服务端没有充足资源完成OSS BatchCopy导致返回异常。

解决方案

早期版本的BatchCopy未定义该异常的处理方式,所以建议关闭BatchCopy来解决。具体步骤为:

  1. 进入配置页签。

    1. 登录EMR on ECS控制台

    2. 在顶部菜单栏处,根据实际情况选择地域和资源组

    3. 在EMR on ECS页面,单击目标集群操作列的集群服务

    4. 集群服务页面,单击SmartData服务区域的配置

  2. 在搜索区域,搜索参数fs.jfs.cache.batch-copy.size,修改参数值为0。

  3. 保存配置。

    1. 单击保存

    2. 确认修改对话框中,输入执行原因,选中需同步的关联Gateway集群,单击确定

  4. 生效配置。

    1. 单击部署客户端配置

    2. 在弹出的对话框中,输入执行原因,单击确定

    3. 确认对话框中,单击确定

  5. 重启服务。

    1. 选择右上角的更多操作 > 重启

    2. 在弹出的对话框中,输入执行原因,单击确定

    3. 确认对话框中,单击确定