flink学习(12)——checkPoint

如何设置checkPoint

复制代码
package com.bigdata.day06;


/**
* 1、需要三句话
* 2、设置完checkPoint后若程序出现异常,会一直重启
* 3、此时是自动进行checkPoint保存 
* 4、注意:此时如果有checkpoint ,是不会出现异常的,需要将checkpoint的代码关闭,再重启程序。
* 5、若配置了
*/


public class _01_checkPointDemo {
    public static void main(String[] args) throws Exception {
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        // 第一句:开启快照,每隔1s保存一次快照
        env.enableCheckpointing(1000);
        // 第二句:设置快照保存的位置
        env.setStateBackend(new FsStateBackend("hdfs://bigdata01:9820/flink/checkpoint"));
        // 第三句: 通过webui的cancel按钮,取消flink的job时,不删除HDFS的checkpoint目录
        env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION);
        DataStreamSource<String> source = env.socketTextStream("bigdata01", 8889);
        source.flatMap(new FlatMapFunction<String, Tuple2<String, Integer>>() {
            @Override
            public void flatMap(String value, Collector<Tuple2<String, Integer>> out) throws Exception {
                String[] s = value.split(" ");
                for (String string : s) {
                    out.collect(Tuple2.of(string, 1));
                }
            }
        }).keyBy(0).sum(1).print();


        env.execute();
    }


}

如何使用checkpoint中记录的数据

复制代码
运行jar包------使用命令的方式

flink run -c com.bigdata.day06._01_checkPointDemo \
-s hdfs://bigdata01:9820/flink/checkpoint/1ae08d23a3ab0f8455d997c6c913c8e7/chk-95 \
flinkProject-1.0-SNAPSHOT.jar

-s 表示checkPoint的文件地址
最好以下面的方式复制checkPoint的文件地址

设置checkpoint和使用checkpoint是两个事情

手动保存checkPoint

复制代码
1、使用 ctrl+c是不能停止flink任务的,需要在8081界面进行canle job
2、使用命令手动保存checkPoint 此时保存快照且不会停止任务
flink savepoint 79f53c5c0bb3563b6b6ed3011176c411 hdfs://bigdata01:9820/flink/checkpoint
3、停止的时候,保存一次快照
flink stop --savepointPath  hdfs://bigdata01:9820/flink/checkpoint c81bb1546866566ce4e16181d0c52be8
4、停止一个任务
flink stop 152e493da9cdeb327f6cbbad5a7f8e41 job编号

79f53c5c0bb3563b6b6ed3011176c411  job编号


手动保存时,不需要在代码中设置有关checkpoint相关的配置
手动保存和自动保存的结果文件是不一样的
相关推荐
zwhdlb6 分钟前
Java + 工业物联网 / 智慧楼宇 面试问答模板
java·物联网·面试
IT毕设梦工厂9 分钟前
大数据毕业设计选题推荐-基于大数据的1688商品类目关系分析与可视化系统-Hadoop-Spark-数据可视化-BigData
大数据·毕业设计·源码·数据可视化·bigdata·选题推荐
君不见,青丝成雪17 分钟前
Hadoop技术栈(四)HIVE常用函数汇总
大数据·数据库·数据仓库·hive·sql
刘一说22 分钟前
CentOS 系统 Java 开发测试环境搭建手册
java·linux·运维·服务器·centos
万邦科技Lafite25 分钟前
利用淘宝开放API接口监控商品状态,掌握第一信息
大数据·python·电商开放平台·开放api接口·淘宝开放平台
卷福同学29 分钟前
来上海三个月,我在马路边上遇到了阿里前同事...
java·后端
Hy行者勇哥2 小时前
Python 与 VS Code 结合操作指南
开发语言·python
bingbingyihao2 小时前
多数据源 Demo
java·springboot
更深兼春远5 小时前
flink+clinkhouse安装部署
大数据·clickhouse·flink
在努力的前端小白7 小时前
Spring Boot 敏感词过滤组件实现:基于DFA算法的高效敏感词检测与替换
java·数据库·spring boot·文本处理·敏感词过滤·dfa算法·组件开发