如题,我是新手小白一个。同步的这个表很大,大概需要4小时时间才能导出所有数据。
我在启动一个flink任务时,使用的是1.20版本,对应的flink-sql-connector-oracle-cdc-3.3.0.jar。
同步命令如下,默认会先全量同步,对checkpoint上锁,导出这个表的全部数据后创建快照,释放checkpoint锁,接着自动进入增量同步模式:
bin/flink run \
-Dexecution.checkpointing.interval=1min \
-Dexecution.checkpointing.interval-during-backlog=0 \
-c org.apache.doris.flink.tools.cdc.CdcTools \
lib/flink-doris-connector-1.20-24.1.0.jar \
oracle-sync-database \
--database test_db \
--oracle-conf hostname=192.168.18.223 \
--oracle-conf port=1521 \
--oracle-conf username=tjxmcs \
--oracle-conf password='fgdsagasdfg' \
--oracle-conf database-name=ORCL \
--oracle-conf schema-name=TJXMCS \
--including-tables="MDTRT_D" \
--oracle-conf debezium.log.mining.strategy=online_catalog \
--oracle-conf debezium.log.mining.continuous.mine=true \
--oracle-conf debezium.database.tablename.case.insensitive=false \
--oracle-conf debezium.database.history.store.only.captured.tables.ddl=true \
--sink-conf fenodes=22.200.1.1:8030 \
--sink-conf benodes=22.200.1.1:8040 \
--sink-conf username=root \
--sink-conf password="xzeage" \
--sink-conf jdbc-url=jdbc:mysql://22.200.1.1:9030 \
--table-conf light_schema_change=true \
--table-conf replication_num=1
我又搜到flink可以设置execution.checkpointing.interval-during-backlog=0
来取消全量同步阶段时的checkpoint。设置后再次启动任务, 检查日志发现,在snapshot step,刚开始导出数据时,就仍然有如下日志:
org.apache.flink.cdc.debezium.internal.DebeziumChangeFetcher [] - Database snapshot phase can't perform checkpoint, acquired Checkpoint lock.
果不其然,在checkpointing.interval的时间到了之后,又开始trigging checkpoint,然后由于已经被锁了,trig超时失败,导致任务重启。
我之前的做法是直接延长checkpointing.interval的时间,设为好几个小时。但这样也治标不治本,万一有更大的表格,一张表要导出1天,那又得重新设。
望各位大佬解答,能否在全量阶段避免这个checkpoint操作?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您可以尝试调整Flink的检查点配置或使用增量检查点来避免全量同步时的锁问题,具体配置请参考阿里云官方文档:https://help.aliyun.com/document_detail/275486.html。如果需要进一步帮助,建议咨询阿里云工作人员。如果对您有帮助的话,可以帮忙采纳一下。谢谢。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。
评论
全部评论 (0)