Flink 几种checkpoint的姿势,脚本,web端,zeppelin

1,主要验证了一下flink on zeppelin checkpoint的这个功能,临时写了个案例去测试一下。

2,首先我们知道正常的checkpoint恢复取消的任务,我们需要在脚本里面指定路径,这个我之前博客有写,直接贴官网的案例:

https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/ops/state/checkpoints.html

3,不知道大家是不是这样子,如果在一些集群环境运行。我们的任务需要重启,需要登录服务器,重新上传jar包,再执行脚本,非常的繁琐。

还好 Flink提供了web端上传jar执行命令,这个真的好用:

我们上传jar ,然后指定主类,需要传入的参数,并行度。代码里面已经指定了checkpoint的路径,第一次执行不需要指定。然后提交任务:

代码如下:

 

package com.test

import java.util.Calendar
import org.apache.flink.api.common.restartstrategy.RestartStrategies
import org.apache.flink.api.common.state.{ValueState, ValueStateDescriptor}
import org.apache.flink.api.common.time.Time
import org.apache.flink.api.scala.typeutils.Types
import org.apache.flink.contrib.streaming.state.RocksDBStateBackend
import org.apache.flink.runtime.state.StateBackend
import org.apache.flink.streaming.api.environment.CheckpointConfig
import org.apache.flink.streaming.api.functions.KeyedProcessFunction
import org.apache.flink.streaming.api.functions.source.{RichSourceFunction, SourceFunction}
import org.apache.flink.streaming.api.scala._
import org.apache.flink.streaming.api.{CheckpointingMode, TimeCharacteristic}
import org.apache.flink.util.Collector

import scala.collection.immutable
import scala.util.Random

/*
 *  todo 测试
 *   senv 是zeppelin的写法,目前要统一。
 *  com.test.CheckpointCancelTest
 */
object ZeppelinCheckpointCancelTest {


  def main(args: Array[String]): Unit = {
    val senv: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment
    senv.setParallelism(1)
    senv.setStreamTimeCharacteristic(TimeCharacteristic.EventTime) //设置时间模式为事件时间
    senv.enableCheckpointing(60000l) //1分钟做一次checkpoint
    val checkpointConfig = senv.getCheckpointConfig
    checkpointConfig.setCheckpointingMode(Chec
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值