开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

使用DataWorks的datax mongodb全量迁移报错,有遇到过吗?

使用DataWorks的datax mongodb全量迁移报错,有大佬遇到过吗?com.alibaba.datax.common.exception.DataXException: Code:[Framework-13], Description:[DataX插件运行时出错, 具体原因请参看DataX运行结束时的错误诊断信息 .]. - java.lang.NoClassDefFoundError: com/alibaba/fastjson2/JSON
at com.alibaba.datax.plugin.reader.mongodbreader.MongoDBReader$Task.init(MongoDBReader.java:200)
at com.alibaba.datax.core.taskgroup.runner.ReaderRunner.run(ReaderRunner.java:45)
at java.lang.Thread.run(Thread.java:750)

  • java.lang.NoClassDefFoundError: com/alibaba/fastjson2/JSON
    at com.alibaba.datax.plugin.reader.mongodbreader.MongoDBReader$Task.init(MongoDBReader.java:200)
    at com.alibaba.datax.core.taskgroup.runner.ReaderRunner.run(ReaderRunner.java:45)
    at java.lang.Thread.run(Thread.java:750)

展开
收起
真的很搞笑 2024-01-27 17:09:44 165 0
3 条回答
写回答
取消 提交回答
  • 这个报错看着是离线同步任务的json配置问题 您可以先参考mongo文档看下参数和参数值是否符合格式 特别是列表、字符串
    https://help.aliyun.com/zh/dataworks/user-guide/supported-data-source-types-and-read-and-write-operations#concept-uzy-hgv-42b ,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2024-01-28 09:12:57
    赞同 展开评论 打赏
  • 这个错误表明在运行DataWorks DataX进行MongoDB全量迁移的过程中,DataX的MongoDB Reader插件在初始化阶段找不到Fastjson 2.x版本的类库(com.alibaba.fastjson2.JSON)。

    Fastjson是阿里巴巴开源的一个Java语言编写的高性能功能完备的JSON库,DataX MongoDB Reader可能在某个版本中采用了Fastjson 2.x系列,但在你的运行环境中未找到对应的依赖。

    解决此问题的步骤如下:

    1. 确认DataX版本与插件兼容性

      • 确保DataX的版本与MongoDB Reader插件兼容,并且所需的Fastjson版本正确匹配。
    2. 添加缺失的依赖

      • 如果你的DataX执行环境中缺少Fastjson 2.x版本,需要手动将其添加到classpath中。在DataWorks中,可以在自定义的DataX容器镜像中包含此依赖,或者在OSS上传的FatJar中打包进此依赖。
    3. 升级或降级DataX或MongoDB Reader插件

      • 根据实际情况选择升级DataX版本,使其自带Fastjson 2.x版本;或者降级MongoDB Reader插件到一个依赖Fastjson 1.x版本的稳定版。
    4. 检查DataX任务配置

      • 如果在DataWorks中配置DataX任务,确保使用的DataX组件版本与DataWorks预置的或者自定义的DataX环境相匹配。
    2024-01-27 21:47:51
    赞同 1 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个错误是由于缺少fastjson依赖导致的。你需要在项目中添加fastjson的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖:

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.78</version>
    </dependency>
    

    如果你使用的是Gradle,可以在build.gradle文件中添加以下依赖:

    implementation 'com.alibaba:fastjson:1.2.78'
    

    添加依赖后,重新构建项目,问题应该会得到解决。

    2024-01-27 20:58:19
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
    阿里云MongoDB云服务构建 立即下载
    饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载