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

Flink CDC中mongodb 整库同步的时候报错 这个是咋回事?

Flink CDC中mongodb 整库同步的时候报错 这个是咋回事?Caused by: com.mongodb.MongoCommandException: Command failed with error 73 (InvalidNamespace): '{aggregate: 1} is not valid for '$changeStream'; a collection is required.' on server 10.2.6.47:23451. The full response is {"operationTime": {"$timestamp": {"t": 1700640845, "i": 2}}, "ok": 0.0, "errmsg": "{aggregate: 1} is not valid for '$changeStream'; a collection is required.", "code": 73, "codeName": "InvalidNamespace", "$clusterTime": {"clusterTime": {"$timestamp": {"t": 1700640845, "i": 2}}, "signature": {"hash": {"$binary": {"base64": "H3qpRhn3haQtOsnLYPaExpQOchk=", "subType": "00"}}, "keyId": 7299463955125108737}}} ?image.png

展开
收起
真的很搞笑 2023-12-01 10:45:04 125 0
2 条回答
写回答
取消 提交回答
  • 这个错误是因为在Flink CDC中,MongoDB的整库同步时使用了错误的命令。正确的命令应该是使用$changeStream操作符来监听集合的变化,而不是使用聚合管道(aggregate pipeline)。

    要解决这个问题,你需要将Flink CDC的配置更改为使用$changeStream操作符来监听整个数据库的变化。具体操作如下:

    1. 修改Flink CDC的配置文件,将source.mongodb.database-name设置为你想要同步的数据库名称。
    2. 修改Flink CDC的配置文件,将source.mongodb.collection-names设置为一个空数组,表示监听整个数据库的所有集合。
    3. 确保Flink CDC的配置文件中的其他设置与你的MongoDB实例相匹配。

    完成上述步骤后,重新运行Flink CDC作业,它应该能够正常同步整个数据库的变更。

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

    根据报错信息,看起来是在 Flink CDC 使用 MongoDB 进行整库同步时出现了错误。具体的错误信息为 Command failed with error 73 (InvalidNamespace): '{aggregate: 1} is not valid for '$changeStream'; a collection is required.'

    这个错误通常出现在尝试使用 $changeStream 命令对整个数据库进行操作时。$changeStream 是 MongoDB 的命令,用于监控集合中的变更。然而,$changeStream 命令需要指定一个具体的集合(collection),而不支持对整个数据库进行操作。

    解决此问题的常见方法是,确保您的 Flink CDC 配置正确指定了要同步的 MongoDB 集合,而不是整个数据库。检查配置文件中是否指定了正确的数据库名称和集合名称。

    如果您要同步整个 MongoDB 数据库的所有集合,可以考虑分别配置每个集合的同步任务,以便逐个同步每个集合。

    2023-12-01 21:14:25
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

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