Flink SavePoint的使用

checkPoint and savePoint

说到savePoint,一定会想到checkPoint,先来说下两者的区别:

checkpoint:应用定时触发,用户保存状态,会过期,内部应用失败重启的时候使用,默认情况下cancel时,会删除之前的checkpoint。

savepoint:用户手动执行,不会过期,相当于备份,可以在cancel的时候使用。一般可以用于修改并行度,程序升级等等。

所以如果想要在程序停掉后重启,数据一致的情况下,强烈推荐使用cancel时做savepoint,当然,如果程序中没有涉及到state,可以不用。

 

savePoint的使用

1.在flink-conf.yaml中配置savepoint存储位置,不是必须设置,如果设置了,那么做savepoint的时候,可以不指定位置,系统会默认使用你设置的位置。如果没有设置,那么在做savepoint的时候,必须指定位置,不然就会报错。

state.savepoints.dir: hdfs://namenode:9000/flink/savepoints  或者是     hdfs:/flink/savepoints 

2.触发savePoint【直接触发或者是在cancel的时候触发】

flink savepoint jobId [targetDirectory] [-yid yarnAppId]【针对on yarn模式需要指定-yid参数】

 

flink cancel -s [targetDirectory] jobId [-yid yarnAppId]【针对on yarn模式需要指定-yid参数】

 

这里的jobId和yid我这里截图说明一下:

  这个是yid

 

这个是jobId:

所以这里对应的命令就是:

  • flink  savepoint 2f0511c8fe430acb81a968aff0cbb5b9 -d hdfs:/user/root/flink -yid application_1560242904558_0258 或者flink  savepoint 2f0511c8fe430acb81a968aff0cbb5b9 -yid application_1560242904558_0258 这里-d是指定位置
  •  flink cancel  -s hdfs:/user/root/flink 2f0511c8fe430acb81a968aff0cbb5b9  -yid application_1560242904558_0258 或者flink cancel  -s 2f0511c8fe430acb81a968aff0cbb5b9  -yid application_1560242904558_0258 这里-s后面可以跟路径也可以不跟路径,取决于state.savepoints.dir有没有配置

 

从指定的savepoint启动job

flink run -s savepointPath [runArgs]

例子:我上面已经做了一个savepoint,保存的路径为hdfs:/user/root/flink   生成的文件是 savepoint-402ba9-e7e4915ab401

那我要从这个savepoint中启动程序,对应命令就是:

nohup flink run -m yarn-cluster \
-yn 3 -yjm 1024 -ytm 1024 -p 3 \
-s hdfs:/user/root/flink/savepoint-402ba9-e7e4915ab401 \
-c com.sp.writetohbase.writetohbase \
 /usr/local/myjob/writetokafka/MyFlinkTTest-1.0-SNAPSHOT.jar &

多了一个-s 其他参数和正常启动时的参数一样

 

如果savepoint时报错,可以去jobmanager的日志上去查看具体原因。

  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值