本文为您介绍任务启动失败时的报错信息及解决方法。

无法加载主类

  • 报错信息
    错误:找不到或无法加载主类 com.alibaba.proxima.CentauriRunner.
    报错
  • 解决方法

    该问题主要原因是MaxCompute无法加载Proxima CE的可执行JAR包,可以通过申请链接或搜索(钉钉群号:11782920)加入MaxCompute开发者社区钉群联系MaxCompute技术支持团队获取支持。

分隔符指定有误

  • 报错信息
    FAILED: ODPS-0123131:User defined function exception - Traceback:
    ProximaCEException(code=20003, msg=参数校验异常, detailMsg=数据向量维度[=1]和config配置的向量维度[=128]不一致,)
            at com.alibaba.proxima.utils.VectorConvert.convert(VectorConvert.java:17)
            at com.alibaba.proxima.mr.BuildMapper.map(BuildMapper.java:58)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:497)
            at com.aliyun.MaxCompute.mapred.bridge.utils.MapReduceUtils.runMapper(MapReduceUtils.java:120)
            at com.aliyun.MaxCompute.mapred.bridge.LotMapperUDTF.run(LotMapperUDTF.java:807)
            at com.aliyun.MaxCompute.udf.impl.batch.BatchStandaloneUDTFEvaluator.run(BatchStandaloneUDTFEvaluator.java:53)
  • 解决方法
    使用-vector_separator命令行参数指定正确的分隔符,默认是波浪号(~),详情请参见可选参数
    说明 分隔符不能带单引号或双引号,使用字符本身即可。例如','会被识别为字符串 ','而不是分隔符,

用户资源组JDK设置错误

  • 报错信息报错
  • 解决方法

    MaxCompute新建任务,调度配置有多个网关资源组 ,一般有一个默认的资源组,需要JDK为1.8及以上版本,出现上述报错的主要原因可能是JDK版本过低,手动更换一个资源组即可。

找不到工程的Volume

  • 报错信息
    MaxCompute-0010000: System internal error - Lost volume dir
    报错
  • 解决方法
    这种情况可能是对应的Volume目录存在,但是目录被损坏了,可尝试通过手动删除对应的目录重新执行。具体ODPS SQL命令如下:
    vfs -ls /; --该命令会输出前缀为'proxima_v2/xxx'的目录
    vfs -rm -r -f /proxima_v2/xxx; --删除该目录(与runLog里面打印的Volume目录一致)。与下述命令二选一
    vfs -rmv /proxima_v2; --删除整个Volume。与上述命令二选一

报错 exceeds the allowed maximum length of '2097152'.

  • 报错信息
    MaxCompute-0420031: Invalid xml in HTTP request body - The request body is malformed or the server version doesn’t match this sdk/client. XML Schema validation failed: Element 'Value': [facet 'maxLength'] The value has a length of '7238452'; this exceeds the allowed maximum length of  '2097152'.
  • 该问题的原因之一是用户在设置启动参数-classpath时出现问题,请参考运行重新设置正确的-classpath启动参数后再运行任务。

报错 java.lang.UnsatisfiedLinkError: no jniproxima in java library.path

  • 报错信息报错
  • 解决方法

    该问题一般是MaxCompute实例未成功加载Proxima SDK,可能是该实例所在机器太老、环境配置过低的原因导致。这种情况出现的概率较低,通常情况下重跑任务即可,系统会调度到能work的机器实例上。