我写了一个带状态的function
采用了如下cp配置: env.enableCheckpointing(5000L, CheckpointingMode.EXACTLY_ONCE); env.getCheckpointConfig().setMinPauseBetweenCheckpoints(100L); env.getCheckpointConfig().setCheckpointTimeout(60000L); env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); env.setStateBackend(new FsStateBackend("file:///cp/eventCounter")); 请教几个问题: ①按照官网的介绍,目录数据应该是这样的 /user-defined-checkpoint-dir /{job-id} | + --shared/ + --taskowned/ + --chk-1/ + --chk-2/ + --chk-3/ ... 但是我的测试是job正常running时,chk-*永远只有一个,每次做chk,递增 +1 一次 ②状态数据按照理解是保存在chk-*下面的,但是我的测试下面只有一个_metadata,并没有每次chk的数据,使用的flink1.12 当我改成使用flink1.8时,是可以看到如下chk-*目录下除了_metadata,还有每次的chk数据. 所以flink1.12高版本的情况每次chk的数据在哪里 ③按照官网介绍,默认只保留最新的一份chk数据,如果想保留最近的多份,除了全局flink-conf.yaml中配置state.checkpoints.num-retained: 5, 有程序中使用env 针对每job的配置方式吗 -- Sent from: http://apache-flink.147419.n8.nabble.com/ |
只有一个的问题是因为默认保留的 chk 数量是一个,可以修改这个配置[1]来改变。
Best, tison. [1] https://ci.apache.org/projects/flink/flink-docs-release-1.12/deployment/config.html#state-checkpoints-num-retained lp <[hidden email]> 于2021年4月1日周四 下午3:48写道: > 我写了一个带状态的function > 采用了如下cp配置: > env.enableCheckpointing(5000L, CheckpointingMode.EXACTLY_ONCE); > env.getCheckpointConfig().setMinPauseBetweenCheckpoints(100L); > env.getCheckpointConfig().setCheckpointTimeout(60000L); > > env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); > env.setStateBackend(new FsStateBackend("file:///cp/eventCounter")); > > 请教几个问题: > ①按照官网的介绍,目录数据应该是这样的 > /user-defined-checkpoint-dir > /{job-id} > | > + --shared/ > + --taskowned/ > + --chk-1/ > + --chk-2/ > + --chk-3/ > ... > > 但是我的测试是job正常running时,chk-*永远只有一个,每次做chk,递增 +1 一次 > > > ②状态数据按照理解是保存在chk-*下面的,但是我的测试下面只有一个_metadata,并没有每次chk的数据,使用的flink1.12 > 当我改成使用flink1.8时,是可以看到如下chk-*目录下除了_metadata,还有每次的chk数据. > 所以flink1.12高版本的情况每次chk的数据在哪里 > > > > ③按照官网介绍,默认只保留最新的一份chk数据,如果想保留最近的多份,除了全局flink-conf.yaml中配置state.checkpoints.num-retained: > 5, 有程序中使用env 针对每job的配置方式吗 > > > > > > -- > Sent from: http://apache-flink.147419.n8.nabble.com/ > |
这个配置本身我看了一下只能走 flink-conf.yaml,而且似乎是 per cluster 配置的,虽然 perjob /
application 部署的时候没啥问题,但是 session 可能就不行了。配置这块 Flink 是有点全走 flink-conf.yaml + 默认你是用 perjob / application 的意思。 你提的数据看不到的问题,首先确认一下是否 chk 真的有数据。另外我依稀记得 tangyun(in cc) 做过一个改动,可以问下他的看法。 Best, tison. tison <[hidden email]> 于2021年4月1日周四 下午3:50写道: > 只有一个的问题是因为默认保留的 chk 数量是一个,可以修改这个配置[1]来改变。 > > Best, > tison. > > [1] > https://ci.apache.org/projects/flink/flink-docs-release-1.12/deployment/config.html#state-checkpoints-num-retained > > > lp <[hidden email]> 于2021年4月1日周四 下午3:48写道: > >> 我写了一个带状态的function >> 采用了如下cp配置: >> env.enableCheckpointing(5000L, CheckpointingMode.EXACTLY_ONCE); >> env.getCheckpointConfig().setMinPauseBetweenCheckpoints(100L); >> env.getCheckpointConfig().setCheckpointTimeout(60000L); >> >> env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); >> env.setStateBackend(new FsStateBackend("file:///cp/eventCounter")); >> >> 请教几个问题: >> ①按照官网的介绍,目录数据应该是这样的 >> /user-defined-checkpoint-dir >> /{job-id} >> | >> + --shared/ >> + --taskowned/ >> + --chk-1/ >> + --chk-2/ >> + --chk-3/ >> ... >> >> 但是我的测试是job正常running时,chk-*永远只有一个,每次做chk,递增 +1 一次 >> >> >> ②状态数据按照理解是保存在chk-*下面的,但是我的测试下面只有一个_metadata,并没有每次chk的数据,使用的flink1.12 >> 当我改成使用flink1.8时,是可以看到如下chk-*目录下除了_metadata,还有每次的chk数据. >> 所以flink1.12高版本的情况每次chk的数据在哪里 >> >> >> >> ③按照官网介绍,默认只保留最新的一份chk数据,如果想保留最近的多份,除了全局flink-conf.yaml中配置state.checkpoints.num-retained: >> 5, 有程序中使用env 针对每job的配置方式吗 >> >> >> >> >> >> -- >> Sent from: http://apache-flink.147419.n8.nabble.com/ >> > |
In reply to this post by tison
|
In reply to this post by tison
|
关于 chk 下只有 _metadata 的问题,大概是因为 state 比较小,被嵌入到 _medata 文件里了。可以参考这个配置项 [1]。
[1] https://ci.apache.org/projects/flink/flink-docs-release-1.12/deployment/config.html#state-backend-fs-memory-threshold Best, Paul Lam > 2021年4月1日 16:25,lp <[hidden email]> 写道: > > 好的,谢谢 > > > > -- > Sent from: http://apache-flink.147419.n8.nabble.com/ |
Free forum by Nabble | Edit this page |