flink的savepoint实验-java
前言和一些准备工作
首先需要明确的是,savepoint和checkpoint不是同一类,
所以在进行savepoint实验时,代码里不需要添加checkpoint enable选项等.
$FLINK_HOME/conf/flink-conf.yaml中添加
state.savepoints.dir: hdfs://Desktop:9000/flink-savepoints
实验代码采用[2]
------------------------------------------------------------------------------------------------------------------------
实验步骤
首先注意,这个实验在真实集群的standalone中进行,而不是local单节伪分布式集群.
| 步骤 | 步骤内容 |
| ① | 启动Zookeeper,Hadoop,Flink(HA)三种集群(启动顺序不要错) |
| ②
| mvn package cd target flink run -c WordCount /home/appleyuchi/桌面/Flink_Code/flink_state/savepoint/target/bbb-1.0-SNAPSHOT.jar得到: Job has been submitted with JobID a5c47eb5cd62ef61f0e0ae66f17aab58 |
| ③ | flink savepoint a5c47eb5cd62ef61f0e0ae66f17aab58 Savepoint completed. Path: hdfs://Desktop:9000/flink-savepoints/savepoint-a5c47e-bd57d19f884c |
| ④ | flink cancel a5c47eb5cd62ef61f0e0ae66f17aab58
Cancelling job a5c47eb5cd62ef61f0e0ae66f17aab58. WEB UI显示 |
| ⑤ | flink run -s hdfs://Desktop:9000/flink-savepoints/savepoint-a5c47e-bd57d19f884c -c WordCount -d /home/appleyuchi/桌面/Flink_Code/flink_state/savepoint/target/bbb-1.0-SNAPSHOT.jar
Job has been submitted with JobID 00b79db0e9123ebda8dcbb22a8d1e484
通过上述命令恢复以后,会在web ui中看到restore信息被更新
同时,之前Task Managers中的结果依然存在
我们继续在nc -lk 9999中输入heiheihei,能不能在上述同一个taskmanager中继续输出呢?答案是不能, restore以后的程序在输出结果时,跑到另外一个taskmanager中去了,所以这点有些不完美 |
上述流程主要参考了[1]
完整代码
Reference
[1]Flink SavePoint
[2]intellij运行flink的wordcount实验-Java版本
总结
以上是生活随笔为你收集整理的flink的savepoint实验-java的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 现代沙发哪个牌子好
- 下一篇: Cannot start compila