【Flink】Flink做检查点checkpoint一直处于IN_PROGRESS状态

837 篇文章 841 订阅 ¥99.90 ¥99.00

文章目录


在这里插入图片描述

1.概述

flink做checkpoint一直是IN_PROGRESS状态,查看java 堆栈信息展示错误

在这里插入图片描述
根据异常栈找到相应的代码requestMemorySegmentBlocking

 private MemorySegment requestMemorySegmentBlocking(int targetChannel)
            throws InterruptedException {
   
        MemorySegment segment;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Flink中,可以通过以下步骤来设置检查点: 1. 配置检查点参数:在Flink的配置文件(flink-conf.yaml)中,可以设置以下参数来配置检查点: - `state.checkpoints.dir`:指定检查点保存的目录路径。 - `state.checkpoints.interval`:指定两个连续检查点之间的时间间隔。 - `state.checkpoints.externalized.checkpoint.cleanup`:指定取消应用时检查点的操作方式,可以设置为`RETAIN_ON_CANCELLATION`(保留检查点)或`DELETE_ON_CANCELLATION`(删除检查点)。 2. 启用检查点:在Flink应用程序中,可以通过以下方式启用检查点: - 在`StreamExecutionEnvironment`中调用`enableCheckpointing(interval)`方法,其中`interval`是检查点的时间间隔。 - 可以选择性地设置其他检查点参数,例如`setCheckpointingMode()`(设置检查点模式)和`getCheckpointConfig()`(获取检查点配置)。 3. 执行检查点:在Flink应用程序中,可以通过以下方式执行检查点: - 在需要执行检查点的操作之前,调用`env.getCheckpointConfig().setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE)`方法,确保每个操作都能够参与到检查点。 - 在需要执行检查点的操作之前,调用`env.enableCheckpointing(interval)`方法,指定检查点的时间间隔。 - 在需要执行检查点的操作之前,调用`env.getCheckpointConfig().setCheckpointTimeout(timeout)`方法,指定检查点的超时时间。 - 在需要执行检查点的操作之前,调用`env.getCheckpointConfig().setMaxConcurrentCheckpoints(max)`方法,指定同时进行的最大检查点数。 4. 恢复检查点:在Flink应用程序中,可以通过以下方式恢复检查点: - 在启动Flink应用程序时,可以通过命令行参数`-s`或`--fromSavepoint`指定检查点的存放路径。 - 在代码中,可以通过`env.fromSource(new SavepointSource(savepointPath), ...)`方法来从检查点恢复数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值