开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

大数据计算MaxCompute我的odps任务中途总是会失败一次,报错如下,帮忙看看是为什么?

大数据计算MaxCompute我的odps任务中途总是会失败一次,报错如下,帮忙看看是为什么?

{"t":"SERVICE_MODE","a":{"f":{"odps.service.mode":"off"}},"d":"ODPS-0010000:System internal error - Service mode falling back to batch mode to rerun due to AllOrNothingResourceWaitTimeout"}

https://logview.aliyun.com/logview?h=http://service.cn-hangzhou.maxcompute.aliyun-inc.com/api&p=bigdata_poc_zj&i=20231101014706341gxqm24hxk9&token=ZFV2Q0hRZWE3WVArMWVBSEhKNjI5RC9paXpnPSxPRFBTX09CTzpwNF8yMDM0NjAwOTM5NjkyNzgyNjksMTcwMTM5NTIyNix7IlN0YXRlbWVudCI6W3siQWN0aW9uIjpbIm9kcHM6UmVhZCJdLCJFZmZlY3QiOiJBbGxvdyIsIlJlc291cmNlIjpbImFjczpvZHBzOio6cHJvamVjdHMvYmlnZGF0YV9wb2NfemovaW5zdGFuY2VzLzIwMjMxMTAxMDE0NzA2MzQxZ3hxbTI0aHhrOSJdfV0sIlZlcnNpb24iOiIxIn0=&

展开
收起
真的很搞笑 2023-11-05 15:57:55 211 0
3 条回答
写回答
取消 提交回答
  • 任务整体是成功的,过程中是online job失败后,回退到了offline。报错也是回退的时候报的我理解。Fuxi Job的两种作业类型:Online Job(service mode)和Offline Job。对于Offline的作业而言,当每次提交作业时在Fuxi上都会有一个环境准备的时间,针对大数据量并且不需要返回查询结果的作业比较合适,而对小数据量并且实时作业要求比较高的作业是不合适的。所以Fuxi提供为什么ServiceMode这种准实时的作业形式,也是online,首先会有一个服务去预先申请计算一些资源并加载出来,比如会预先分配一 万个nstance,当有作业提交时会根据作业规模分配一些Instance进行执行,这样就省去环境准备的时间,所以就会比较快。online不等资源且不保证成功。如果service mode失败,比如instance个数超过1000,或者运行超过10分钟,就会退回以Offline模式重跑。可以set odps.service.mode=off;这样就直接跑完了,不会再跑onlinedf894ab5274744c5e47b0db46a01099b.png
    ,此回答整理自钉群“MaxCompute开发者社区2群”

    2023-11-07 23:18:10
    赞同 展开评论 打赏
  • 根据您提供的错误信息,问题可能是由于MaxCompute的在线服务模式被关闭导致的。错误信息中提到了"AllOrNothingResourceWaitTimeout",这意味着任务在等待资源时超时,导致任务失败。

    要解决这个问题,您可以尝试以下方法:

    1. 增加任务的超时时间:您可以在MaxCompute SQL任务中设置odps.service.timeout参数来增加任务的超时时间。例如,将超时时间设置为30分钟:
    SET odps.service.timeout=1800;
    -- 在这里编写您的SQL查询语句
    
    1. 检查资源可用性:确保您的MaxCompute环境中有足够的资源(如内存、CPU等)来运行任务。如果资源不足,任务可能会因为等待资源而超时。

    2. 优化SQL查询:检查您的SQL查询是否存在性能问题,如低效的JOIN操作、大量的数据筛选等。优化查询可以提高任务的执行效率,从而减少任务的超时风险。

    3. 检查依赖关系:确保您的任务依赖的其他任务或作业已经成功完成。如果依赖的任务失败,可能会导致当前任务失败。

    4. 查看日志:您可以查看MaxCompute的日志以获取更多关于任务失败原因的信息。日志中可能包含有关错误的详细信息和建议的解决方案。

    2023-11-06 11:12:16
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据您的描述和提供的日志信息,看起来您的MaxCompute任务遇到了一个内部系统错误,导致它从批处理模式退回到了服务模式重新运行,这是由于“AllOrNothingResourceWaitTimeout”(所有或无等待超时)造成的。
    这个问题可能是由于资源不足或无法及时调度而导致的,例如:存储空间不足、内存不足、网络拥塞等情况。您可以考虑以下几种解决方案:

    1. 检查并增加您的MaxCompute项目的可用资源。如果您发现项目中有一些未使用的资源,可以考虑将其释放出来供当前任务使用。
    2. 尝试降低任务的并发度。如果您发现任务中有大量的并发操作,可以尝试减小并发度,以减轻系统的压力。
    3. 调整任务的时间窗口。如果任务需要在短时间内完成大量的工作,可以考虑延长任务的运行时间,以减少对系统的压力。
    2023-11-05 16:00:58
    赞同 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 相关电子书

    更多
    Data+AI时代大数据平台应该如何建设 立即下载
    大数据AI一体化的解读 立即下载
    极氪大数据 Serverless 应用实践 立即下载