flink-checkpoint 功能验证与排错

1、正在运行的任务,增加source表字段

不影响原始任务运行

2、正在运行的任务,删除source表字段

删除的字段会当作删除操作,目标表对应字段会被删除,不影响原始任务运行

3、从checkpoint 点恢复,逻辑不能做任务修改

如:
1、增加查询字段,增加聚合字段

无法从 checkpoint 恢复,因为会去久checkpoint 对比

二、报错解决

1、从 ck 点重启恢复失败

报表详情如下:Caused by: java.lang.IllegalStateException: Failed to rollback to checkpoint/savepoint hdfs://prod-yingzi-cluster/flink_realtime_cal/checkpoints_1209/dwd_fpf_kfk_non_anc_insert_into/4b0b4993665c2a175083c271b2193e34/chk-162. Cannot map checkpoint/savepoint state for operator feb21fd8aa9424483512b307686ad3e4 to the new program, because the operator is not available in the new program. If you want to allow to skip this, you can set the --allowNonRestoredState option on the CLI.
原因:
	1、打的jar逻辑有变动, 导致代码数据链路对不上
	2、flink 客户端有变动,原本是13.2 版本,改为了 12.2 
解决:
	1、回滚代码,并重新打包, 再次从 ck 启动成功,任务恢复
	2、flink 客户端更换会原始启动的版本
注意点:
	1、脚本并发度要保持不变
	2、slot 数量要保持不变
	3、消费 kafka 的 group_id 要保持不变
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flink SQL是一个支持流和批两种模式的分布式计算框架,它能够用于各类大数据场景。Flink SQL从1.9版本开始支持基于SQL的批处理功能,最新版本的Flink SQL 1.14.0也都已经逐渐趋于完善。 对于如何从checkpoint中恢复flink-sql任务,实际上与其他flink任务的恢复方式类似。flink-sql在运行过程中,产生了各种状态,如checkpoint状态、状态后端中的状态,元数据等。当一个flink-sql任务意外停止时,重启该任务会需要使用这些状态信息来恢复任务运行的正确状态。 首先,我们需要选定需要的状态后端。Flink提供了不同的状态后端,如memory、filesystem、rocksDB等,在配置文件中选定所需的状态后端,进而启动flink-sql任务。这样flink-sql任务就会产生一系列状态信息,存储在指定的状态后端中。 其次,我们需要设置checkpoint,以保证flink-sql任务在运行过程中产生的状态信息能够被及时保存。Flink提供了不同的checkpoint触发机制,如时间间隔、数据量等,可以根据具体情况选择。 最后,在flink-sql任务出现异常中断时,可以通过使用之前保存的checkpoint状态信息来恢复flink-sql任务,保证任务持续运行。具体可以使用flink提供的命令行工具或者API进行操作。 需要注意的是,在使用flink-sql重启任务时,要确保数据源的指针位于正确的位置,否则将可能导致脏数据的产生,从而影响计算结果的正确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值