问题一:Flink CDC 是不是得放各自connector的瘦包?
Flink CDC mysql sqlserver 共存的采集,是不是得放各自connector的瘦包,然后再放其他的包,比如debezium等,好像只能这样了?
参考回答:
确实,为了采集MySQL和SQLServer的数据并存放到Flink中,你需要使用各自的connector。对于MySQL,可以使用Flink CDC连接器;对于SQL Server,可使用flink-connector-sqlserver-cdc。
Flink CDC Connectors 是 Apache Flink 的一组源连接器,可以从 MySQL、PostgreSQL 数据直接读取全量数据和增量数据的 Source Connectors。而flink-connector-sqlserver-cdc则是专门为SQL Server设计的实时同步工具。
这些连接器可以分别独立工作,也可以同时工作,将多个数据源的数据采集到同一个Flink任务中进行统一的处理和分析。不过在使用之前,确保各自环境已经做好配置,例如启用了对应数据库的CDC功能。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/572325
问题二:Flink CDC同步MySQL数据又出现了把我们从库给搞宕机的情况。不知道为什么还是会产生那么多?
Flink CDC同步MySQL数据又出现了把我们从库给搞宕机的情况。我们指定了一个server-id,并行度也只给了一个ie,但是不知道为什么还是会产生那么多master-thread-id ?
参考回答:
这个问题可能是由于Flink CDC在同步MySQL数据时,没有正确地处理并行度和server-id导致的。为了解决这个问题,你可以尝试以下方法:
- 检查你的Flink CDC配置,确保你正确地设置了server-id和并行度。你可以在Flink CDC的配置文件中设置这些参数,例如:
jobmanager.rpc.address: localhost jobmanager.rpc.port: 6123 parallelism.default: 4
- 在你的Flink SQL查询中,使用
SET SESSION
语句来设置server-id。例如:
SET SESSION server_id = 1;
- 如果问题仍然存在,你可以尝试增加Flink CDC的并行度。这可以通过修改Flink CDC的配置文件来实现。例如,你可以将并行度设置为8:
flink.cdc.connector.mysql.max-tasks: 8
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/572322
问题三:Flink CDC Mongodb中的NumberLong类型应该用flink sql什么类型对应?
Flink CDC Mongodb中的NumberLong类型应该用flink sql什么类型对应?
参考回答:
看连接器官网的,data type 映射
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/572318
问题四:Flink CDC启动后仍然从头开始读取数据,有没有遇到过呢 ?
Flink CDC用tidb连接器flink-connector-tidb-cdc-2.4.1.jar遇到从已存在的ck启动无效问题,启动后仍然从头开始读取数据,有没有遇到过呢 ?
参考回答:
ckp程序结束是默认不保存的哦,推荐的也是savepoint停止,启动
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/572317
问题五:请教一下Flink CDC,偶发性的delete记录没有写mysql的现象,这个是什么问题呀?
请教一下Flink CDC,我用upsert-kafka作为source 输入源。
使用jdbc 作为sink,写入mysql,会出现偶发性的delete记录没有写mysql的现象,这个是什么问题呀?
用的是FlinkCDC 2.2 + Flink-1.14.2
任务刚提交的时候,delete动作会执行,但是过一段时间后,kafka里输入一个-D的记录,jdbc就不会写库里
参考回答:
根据您的描述,可能会有以下原因导致 DELETE 记录不写入 MySQL:
- 同步延迟:Flink CDC 任务需要一些时间来处理上游的 delete 记录,因此偶尔会出现同步延迟的问题。您可以在 Flink CDC 配置文件中调整 Kafka 消费者组的消费速度,以加快 DELETE 记录的处理。
- 执行顺序:DELETE 和 UPDATE 语句可能会影响 Kafka 中的消息处理顺序,这可能会导致 DELETE 记录不写入 MySQL。
- 错误的设置:请确保您的 Flink CDC 和 JDBC 连接器都设置了正确的表和列名,以及正确的表约束。您可以在 Flink CDC 配置文件中使用 -D option 参数设置 DELETE 和 UPDATE 表达式。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/572316