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

Flink CDC中mongodb的版本和权限开的对不?

Flink CDC中mongodb的版本和权限开的对不?image.png

展开
收起
cuicuicuic 2023-12-04 07:46:12 52 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    对于Flink CDC连接MongoDB,确实需要正确的版本和权限配置。从MongoDB 4.0版本开始,仅支持pv1模式,这是使用MongoDB 3.2或更高版本创建的所有新副本集的默认值。同时,为了使用MongoDB Kafka连接器,必须具有changeStream和读取权限。此外,如果启用了MongoDB的鉴权功能,还需要赋予用户一些额外的权限,如splitVector权限、listDatabases权限、listCollections权限、collStats权限、find权限等。

    另外,需要注意的是,当使用MongoDB CDC Connector时,要适当设置Oplog的容量和过期时间。MongoDB的oplog是一个特殊的有容量集合,当其容量达到最大值后,会丢弃历史数据。Change Streams通过resume token来进行恢复,如果oplog的容量设置得过小,可能会导致数据丢失。因此,正确地配置和使用Flink CDC以及MongoDB是确保数据同步和变更捕获功能正常运作的关键。

    2023-12-04 14:21:20
    赞同 展开评论 打赏
  • 在使用 Flink CDC 和 MongoDB 时,确实需要注意 MongoDB 的版本和权限设置。根据引用的内容,MongoDB CDC Connector 要求 MongoDB 的最小可用版本是 3.6,比较推荐 4.0.8 及以上版本。此外,必须使用集群部署模式。

    在权限方面,需要确保有足够的权限来访问 MongoDB 数据库和集合。具体来说,需要创建一个名为 "changeStream" 的角色,并为该角色授予对所有数据库和集合的 "changeStream" 权限。然后,需要将这个角色分配给 Flink CDC 用于读取数据的用户。

    如果已经检查了这些方面,但仍然读取不到数据,可以通过以下方式来排查问题:启用 Flink CDC 的 debug 日志,并查看日志中的信息;使用 Debezium 的 CLI 工具来查看 MongoDB 的数据库变更;使用 Flink CDC 的测试用例来验证配置是否正确。

    2023-12-04 11:53:24
    赞同 展开评论 打赏

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

相关产品

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

    更多
    开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
    MongoDB多数据中心的方案选型之路 立即下载
    饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载