问题一:Flink CDC这个是干啥用的啊?
Flink CDC这个是干啥用的啊?org/apache/flink/shaded/guava31/com/google/common/util/concurrent/ThreadFactoryBuilder
参考答案:
java工具包
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/584482
问题二:使用 flink-cdc 期间 mysql 发现主从切换的话,会有啥影响不?
使用 flink-cdc 期间 mysql 发现主从切换的话,会有啥影响不?
参考答案:
配置下dns就没问题,最好是使用域名链接,不用ip地址
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/584481
问题三:为啥flink-sql-connector-mysql-cdc就不会guava冲突呢?
为啥flink-sql-connector-mysql-cdc就不会guava冲突呢?
参考答案:
sql-connector属于胖包
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/584479
问题四:有没有试过flink-cdc.sh xx.yaml提交到yarn 发现没有启动task 的?
有没有试过flink-cdc.sh xx.yaml提交到yarn 发现没有启动task manager的?1.18+cdc 3.0?
参考答案:
可以看下日志怎么提示的
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/584478
问题五:PostgreSQL数据库的WAL日志空间快速增长导致Flink CDC磁盘空间不足,是怎么回事呢?
Flink CDC中PostgreSQL-CDC作业持续同步几天后,重新从状态恢复启动后,无法进行增量同步。设置的deberzium.heartbeat.interval.ms和deberzium.heartbeat.action.query也未执行,导致PostgreSQL数据库的WAL日志空间快速增长,导致磁盘空间不足,是怎么回事呢?
参考答案:
在Flink CDC的PostgreSQL CDC作业中,如果作业持续同步几天后,由于某种原因(例如故障恢复或手动重启)重新启动,并且不能继续进行增量同步,同时配置的Debezium心跳参数如debezium.heartbeat.interval.ms
和debezium.heartbeat.action.query
不再执行,可能会出现以下问题:
1. Replication Slot堵塞:
Flink CDC通过Debezium连接器使用PostgreSQL的逻辑复制槽来跟踪已经消费过的事务。如果没有定期发送心跳信号到数据库, replication slot可能无法正确清理已消费的日志,从而导致wal日志空间不断增长。
2. WAL日志堆积:
心跳机制是为了保持与数据库的活跃连接并清除旧的WAL日志。当心跳停止执行时,数据库会保留所有未被确认消费的WAL日志,即使这些日志对应的事务已经被Flink CDC成功处理过。
3. 磁盘空间不足:
由于上述原因,未经清理的WAL日志占用的空间会持续增加,可能导致磁盘空间耗尽。
为了解决这个问题,请检查以下几个方面:
确认心跳设置是否生效:确保在Flink CDC作业的连接器配置中,心跳相关属性已经被正确设置,并且在重启作业时依然生效。
查看日志:
查看Flink CDC作业以及数据库服务器的日志,寻找关于心跳失败、连接中断或其他可能导致心跳停止执行的相关错误信息。
清理Replication Slot:
如果确定是因为没有执行心跳而造成的问题,可以尝试手动清理replication slot或者在重启作业前先删除旧的slot,然后让作业重新创建并开始同步。
监控和报警:
建立合适的监控和报警机制,以便在类似问题发生时及时发现并采取措施。
持久化和恢复点:
确保Flink CDC作业在重启时能够从上次成功的checkpoint位置恢复,而不是从头开始同步。这有助于避免重复处理数据。
关于本问题的更多回答可点击进行查看: