hello,
当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 Caused by: java.nio.file.NoSuchFileException: /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst -> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst 配置和1.9.2 一样: state.backend: rocksdb state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ state.savepoints.dir: hdfs:///flink/savepoints/wc/ state.backend.incremental: true 代码上都有 env.enableCheckpointing(10000); env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); 是1.10.0 需要做什么特别配置么? |
Hi Peihui
你的异常应该是从增量Checkpoint恢复时,文件已经下载到本地了,做硬链时[1],发现源文件不见了,有很大的可能是当时发生了异常,导致restore流程退出了,所以这个问题应该不是root cause。 [1] https://github.com/apache/flink/blob/2a3b642b1efb957f3d4f20502c40398786ab1469/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/restore/RocksDBIncrementalRestoreOperation.java#L473 祝好 唐云 ________________________________ From: Peihui He <[hidden email]> Sent: Tuesday, July 14, 2020 10:42 To: [hidden email] <[hidden email]> Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 hello, 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 Caused by: java.nio.file.NoSuchFileException: /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst -> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst 配置和1.9.2 一样: state.backend: rocksdb state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ state.savepoints.dir: hdfs:///flink/savepoints/wc/ state.backend.incremental: true 代码上都有 env.enableCheckpointing(10000); env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); 是1.10.0 需要做什么特别配置么? |
Hi
这个出错是从 1.9 升级到 1.10 遇到的问题,还是说 1.10 能正常跑了,然后跑着跑着 failover 了再次恢复的时候出错了呢? 另外你可以看下 tm log 看看有没有其他异常 Best, Congxian Yun Tang <[hidden email]> 于2020年7月14日周二 上午11:57写道: > Hi Peihui > > 你的异常应该是从增量Checkpoint恢复时,文件已经下载到本地了,做硬链时[1],发现源文件不见了,有很大的可能是当时发生了异常,导致restore流程退出了,所以这个问题应该不是root > cause。 > > [1] > https://github.com/apache/flink/blob/2a3b642b1efb957f3d4f20502c40398786ab1469/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/restore/RocksDBIncrementalRestoreOperation.java#L473 > > > 祝好 > 唐云 > ________________________________ > From: Peihui He <[hidden email]> > Sent: Tuesday, July 14, 2020 10:42 > To: [hidden email] <[hidden email]> > Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 > > hello, > > 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 > > > Caused by: java.nio.file.NoSuchFileException: > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst > -> > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst > > 配置和1.9.2 一样: > state.backend: rocksdb > state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ > state.savepoints.dir: hdfs:///flink/savepoints/wc/ > state.backend.incremental: true > > 代码上都有 > > env.enableCheckpointing(10000); > > env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); > env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, > org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); > > > 是1.10.0 需要做什么特别配置么? > |
In reply to this post by Yun Tang
Hi Yun,
我这边用一个word count 例子,socket -> flatmap -> keyBy -> reduce -> print. 在flatmap 中当出现特定word的时候就抛出一个runtimeException。在1.9.2 里面是可以从checkpoint中自动恢复上次做checkpoint的时候的状态,但是用1.10.0 就不能。环境是flink on yarn。 Best wishes. Yun Tang <[hidden email]> 于2020年7月14日周二 上午11:57写道: > Hi Peihui > > 你的异常应该是从增量Checkpoint恢复时,文件已经下载到本地了,做硬链时[1],发现源文件不见了,有很大的可能是当时发生了异常,导致restore流程退出了,所以这个问题应该不是root > cause。 > > [1] > https://github.com/apache/flink/blob/2a3b642b1efb957f3d4f20502c40398786ab1469/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/restore/RocksDBIncrementalRestoreOperation.java#L473 > > > 祝好 > 唐云 > ________________________________ > From: Peihui He <[hidden email]> > Sent: Tuesday, July 14, 2020 10:42 > To: [hidden email] <[hidden email]> > Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 > > hello, > > 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 > > > Caused by: java.nio.file.NoSuchFileException: > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst > -> > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst > > 配置和1.9.2 一样: > state.backend: rocksdb > state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ > state.savepoints.dir: hdfs:///flink/savepoints/wc/ > state.backend.incremental: true > > 代码上都有 > > env.enableCheckpointing(10000); > > env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); > env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, > org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); > > > 是1.10.0 需要做什么特别配置么? > |
In reply to this post by Congxian Qiu
Hi Congxian,
这个错误是从1.9 升级到1.10 遇到的问题。用简单的wordcount 测试,自己根据特定word 抛出runtimeException,就能够重现。flink on yarn 和 flink on k8s 都出现这个问题。1.10 都不能从上次的checkpoint状态中恢复。不知道是不是1.10需要其他配置呢? Best wishes. Congxian Qiu <[hidden email]> 于2020年7月14日周二 下午1:54写道: > Hi > > 这个出错是从 1.9 升级到 1.10 遇到的问题,还是说 1.10 能正常跑了,然后跑着跑着 failover 了再次恢复的时候出错了呢? > 另外你可以看下 tm log 看看有没有其他异常 > > Best, > Congxian > > > Yun Tang <[hidden email]> 于2020年7月14日周二 上午11:57写道: > > > Hi Peihui > > > > > 你的异常应该是从增量Checkpoint恢复时,文件已经下载到本地了,做硬链时[1],发现源文件不见了,有很大的可能是当时发生了异常,导致restore流程退出了,所以这个问题应该不是root > > cause。 > > > > [1] > > > https://github.com/apache/flink/blob/2a3b642b1efb957f3d4f20502c40398786ab1469/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/restore/RocksDBIncrementalRestoreOperation.java#L473 > > > > > > 祝好 > > 唐云 > > ________________________________ > > From: Peihui He <[hidden email]> > > Sent: Tuesday, July 14, 2020 10:42 > > To: [hidden email] <[hidden email]> > > Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 > > > > hello, > > > > 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 > > > > > > Caused by: java.nio.file.NoSuchFileException: > > > > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst > > -> > > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst > > > > 配置和1.9.2 一样: > > state.backend: rocksdb > > state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ > > state.savepoints.dir: hdfs:///flink/savepoints/wc/ > > state.backend.incremental: true > > > > 代码上都有 > > > > env.enableCheckpointing(10000); > > > > > env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); > > env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, > > org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); > > > > > > 是1.10.0 需要做什么特别配置么? > > > |
Hi
我尝试理解一下: 1 你用 1.9 跑 wordcount 作业,然后执行了一些 checkpoint,然后停止作业,然后使用 1.10 从之前 1.9 的作业生成的 checkpoint 恢复,发现恢复不了? 2 你用作业 1.10 跑 wordcount,然后遇到特定的 word 会抛异常,然后 failover,发现不能从 checkpoint 恢复? 你这里的问题是第 1 种还是第 2 种呢? 另外能否分享一下你的操作步骤以及出错时候的 taskmanager log 呢? Best, Congxian Peihui He <[hidden email]> 于2020年7月14日周二 下午2:46写道: > Hi Congxian, > > 这个错误是从1.9 升级到1.10 遇到的问题。用简单的wordcount 测试,自己根据特定word > 抛出runtimeException,就能够重现。flink on yarn 和 flink on k8s 都出现这个问题。1.10 > 都不能从上次的checkpoint状态中恢复。不知道是不是1.10需要其他配置呢? > > Best wishes. > > Congxian Qiu <[hidden email]> 于2020年7月14日周二 下午1:54写道: > > > Hi > > > > 这个出错是从 1.9 升级到 1.10 遇到的问题,还是说 1.10 能正常跑了,然后跑着跑着 failover 了再次恢复的时候出错了呢? > > 另外你可以看下 tm log 看看有没有其他异常 > > > > Best, > > Congxian > > > > > > Yun Tang <[hidden email]> 于2020年7月14日周二 上午11:57写道: > > > > > Hi Peihui > > > > > > > > > 你的异常应该是从增量Checkpoint恢复时,文件已经下载到本地了,做硬链时[1],发现源文件不见了,有很大的可能是当时发生了异常,导致restore流程退出了,所以这个问题应该不是root > > > cause。 > > > > > > [1] > > > > > > https://github.com/apache/flink/blob/2a3b642b1efb957f3d4f20502c40398786ab1469/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/restore/RocksDBIncrementalRestoreOperation.java#L473 > > > > > > > > > 祝好 > > > 唐云 > > > ________________________________ > > > From: Peihui He <[hidden email]> > > > Sent: Tuesday, July 14, 2020 10:42 > > > To: [hidden email] <[hidden email]> > > > Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 > > > > > > hello, > > > > > > 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 > > > > > > > > > Caused by: java.nio.file.NoSuchFileException: > > > > > > > > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst > > > -> > > > > > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst > > > > > > 配置和1.9.2 一样: > > > state.backend: rocksdb > > > state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ > > > state.savepoints.dir: hdfs:///flink/savepoints/wc/ > > > state.backend.incremental: true > > > > > > 代码上都有 > > > > > > env.enableCheckpointing(10000); > > > > > > > > > env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); > > > env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, > > > org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); > > > > > > > > > 是1.10.0 需要做什么特别配置么? > > > > > > |
In reply to this post by Peihui He
据我所知,跨大版本的不能直接从checkoint恢复,只能放弃状态重新跑
Best Robin Zhang ________________________________ From: Peihui He <[hidden email]> Sent: Tuesday, July 14, 2020 10:42 To: [hidden email] <[hidden email]> Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 hello, 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 Caused by: java.nio.file.NoSuchFileException: /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst -> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst 配置和1.9.2 一样: state.backend: rocksdb state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ state.savepoints.dir: hdfs:///flink/savepoints/wc/ state.backend.incremental: true 代码上都有 env.enableCheckpointing(10000); env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); 是1.10.0 需要做什么特别配置么? -- Sent from: http://apache-flink.147419.n8.nabble.com/ |
Hi Robin
其实你的说法不是很准确,社区是明文保证savepoint的兼容性 [1],但是并不意味着跨大版本时无法从checkpoint恢复,社区不承诺主要还是维护其太耗费精力,但是实际从代码角度来说,在合理使用state schema evolution [2]的前提下,目前跨版本checkpoint恢复基本都是兼容的. 另外 @Peihui 也请麻烦对你的异常描述清晰一些,我的第一次回复已经推测该异常不是root cause,还请在日志中找一下无法恢复的root cause,如果不知道怎么从日志里面找,可以把相关日志分享出来。 [1] https://ci.apache.org/projects/flink/flink-docs-stable/ops/upgrading.html#compatibility-table [2] https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/state/schema_evolution.html 祝好 唐云 ________________________________ From: Robin Zhang <[hidden email]> Sent: Wednesday, July 15, 2020 16:23 To: [hidden email] <[hidden email]> Subject: Re: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 据我所知,跨大版本的不能直接从checkoint恢复,只能放弃状态重新跑 Best Robin Zhang ________________________________ From: Peihui He <[hidden email]> Sent: Tuesday, July 14, 2020 10:42 To: [hidden email] <[hidden email]> Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 hello, 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 Caused by: java.nio.file.NoSuchFileException: /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst -> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst 配置和1.9.2 一样: state.backend: rocksdb state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ state.savepoints.dir: hdfs:///flink/savepoints/wc/ state.backend.incremental: true 代码上都有 env.enableCheckpointing(10000); env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); 是1.10.0 需要做什么特别配置么? -- Sent from: http://apache-flink.147419.n8.nabble.com/ |
In reply to this post by Peihui He
Hello, Peihui,可以参考下是不是和这个问题类似?之前我在1.10.0也遇到过。 http://apache-flink.147419.n8.nabble.com/rocksdb-Could-not-restore-keyed-state-backend-for-KeyedProcessOperator-td2232.html#a2239 解决方式: 1. 使用hdfs作为状态后端不会报错 2. 升级至1.10.1使用rocksdb也不会出现该问题 在 2020-07-14 14:41:53,"Peihui He" <[hidden email]> 写道: >Hi Yun, > >我这边用一个word count 例子,socket -> flatmap -> keyBy -> reduce -> >print. 在flatmap 中当出现特定word的时候就抛出一个runtimeException。在1.9.2 >里面是可以从checkpoint中自动恢复上次做checkpoint的时候的状态,但是用1.10.0 就不能。环境是flink on >yarn。 > >Best wishes. > >Yun Tang <[hidden email]> 于2020年7月14日周二 上午11:57写道: > >> Hi Peihui >> >> 你的异常应该是从增量Checkpoint恢复时,文件已经下载到本地了,做硬链时[1],发现源文件不见了,有很大的可能是当时发生了异常,导致restore流程退出了,所以这个问题应该不是root >> cause。 >> >> [1] >> https://github.com/apache/flink/blob/2a3b642b1efb957f3d4f20502c40398786ab1469/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/restore/RocksDBIncrementalRestoreOperation.java#L473 >> >> >> 祝好 >> 唐云 >> ________________________________ >> From: Peihui He <[hidden email]> >> Sent: Tuesday, July 14, 2020 10:42 >> To: [hidden email] <[hidden email]> >> Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 >> >> hello, >> >> 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 >> >> >> Caused by: java.nio.file.NoSuchFileException: >> >> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst >> -> >> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst >> >> 配置和1.9.2 一样: >> state.backend: rocksdb >> state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ >> state.savepoints.dir: hdfs:///flink/savepoints/wc/ >> state.backend.incremental: true >> >> 代码上都有 >> >> env.enableCheckpointing(10000); >> >> env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); >> env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, >> org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); >> >> >> 是1.10.0 需要做什么特别配置么? >> |
In reply to this post by Congxian Qiu
Hi Congxian,
不好意思,本来想准备下例子再回下邮件的,一直拖了这么久。 情况是你说的第2种。 同@chenxyz遇到的情况类似,日志可以参考chenxyz发的 http://apache-flink.147419.n8.nabble.com/rocksdb-Could-not-restore-keyed-state-backend-for-KeyedProcessOperator-td2232.html 按照chenxyz 的建议换了1.10.1版本后就没有问题了。 Best wishes. Congxian Qiu <[hidden email]> 于2020年7月15日周三 下午1:04写道: > Hi > > 我尝试理解一下: > 1 你用 1.9 跑 wordcount 作业,然后执行了一些 checkpoint,然后停止作业,然后使用 1.10 从之前 1.9 的作业生成的 > checkpoint 恢复,发现恢复不了? > 2 你用作业 1.10 跑 wordcount,然后遇到特定的 word 会抛异常,然后 failover,发现不能从 checkpoint 恢复? > > 你这里的问题是第 1 种还是第 2 种呢? > > 另外能否分享一下你的操作步骤以及出错时候的 taskmanager log 呢? > > Best, > Congxian > > > Peihui He <[hidden email]> 于2020年7月14日周二 下午2:46写道: > > > Hi Congxian, > > > > 这个错误是从1.9 升级到1.10 遇到的问题。用简单的wordcount 测试,自己根据特定word > > 抛出runtimeException,就能够重现。flink on yarn 和 flink on k8s 都出现这个问题。1.10 > > 都不能从上次的checkpoint状态中恢复。不知道是不是1.10需要其他配置呢? > > > > Best wishes. > > > > Congxian Qiu <[hidden email]> 于2020年7月14日周二 下午1:54写道: > > > > > Hi > > > > > > 这个出错是从 1.9 升级到 1.10 遇到的问题,还是说 1.10 能正常跑了,然后跑着跑着 failover 了再次恢复的时候出错了呢? > > > 另外你可以看下 tm log 看看有没有其他异常 > > > > > > Best, > > > Congxian > > > > > > > > > Yun Tang <[hidden email]> 于2020年7月14日周二 上午11:57写道: > > > > > > > Hi Peihui > > > > > > > > > > > > > > 你的异常应该是从增量Checkpoint恢复时,文件已经下载到本地了,做硬链时[1],发现源文件不见了,有很大的可能是当时发生了异常,导致restore流程退出了,所以这个问题应该不是root > > > > cause。 > > > > > > > > [1] > > > > > > > > > > https://github.com/apache/flink/blob/2a3b642b1efb957f3d4f20502c40398786ab1469/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/restore/RocksDBIncrementalRestoreOperation.java#L473 > > > > > > > > > > > > 祝好 > > > > 唐云 > > > > ________________________________ > > > > From: Peihui He <[hidden email]> > > > > Sent: Tuesday, July 14, 2020 10:42 > > > > To: [hidden email] <[hidden email]> > > > > Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 > > > > > > > > hello, > > > > > > > > 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 > > > > > > > > > > > > Caused by: java.nio.file.NoSuchFileException: > > > > > > > > > > > > > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst > > > > -> > > > > > > > > > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst > > > > > > > > 配置和1.9.2 一样: > > > > state.backend: rocksdb > > > > state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ > > > > state.savepoints.dir: hdfs:///flink/savepoints/wc/ > > > > state.backend.incremental: true > > > > > > > > 代码上都有 > > > > > > > > env.enableCheckpointing(10000); > > > > > > > > > > > > > > env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); > > > > env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, > > > > org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); > > > > > > > > > > > > 是1.10.0 需要做什么特别配置么? > > > > > > > > > > |
In reply to this post by chenxyz
Hi chenxyz,
我们遇到的问题应该是一样的,换了1.10.1 后就可以从checkpoint 中恢复了。🤗 Best wishes. chenxyz <[hidden email]> 于2020年7月15日周三 下午9:53写道: > > > > Hello, > Peihui,可以参考下是不是和这个问题类似?之前我在1.10.0也遇到过。 > > http://apache-flink.147419.n8.nabble.com/rocksdb-Could-not-restore-keyed-state-backend-for-KeyedProcessOperator-td2232.html#a2239 > 解决方式: > 1. 使用hdfs作为状态后端不会报错 > 2. 升级至1.10.1使用rocksdb也不会出现该问题 > > > > > > > > > > > > > > > 在 2020-07-14 14:41:53,"Peihui He" <[hidden email]> 写道: > >Hi Yun, > > > >我这边用一个word count 例子,socket -> flatmap -> keyBy -> reduce -> > >print. 在flatmap 中当出现特定word的时候就抛出一个runtimeException。在1.9.2 > >里面是可以从checkpoint中自动恢复上次做checkpoint的时候的状态,但是用1.10.0 就不能。环境是flink on > >yarn。 > > > >Best wishes. > > > >Yun Tang <[hidden email]> 于2020年7月14日周二 上午11:57写道: > > > >> Hi Peihui > >> > >> > 你的异常应该是从增量Checkpoint恢复时,文件已经下载到本地了,做硬链时[1],发现源文件不见了,有很大的可能是当时发生了异常,导致restore流程退出了,所以这个问题应该不是root > >> cause。 > >> > >> [1] > >> > https://github.com/apache/flink/blob/2a3b642b1efb957f3d4f20502c40398786ab1469/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/restore/RocksDBIncrementalRestoreOperation.java#L473 > >> > >> > >> 祝好 > >> 唐云 > >> ________________________________ > >> From: Peihui He <[hidden email]> > >> Sent: Tuesday, July 14, 2020 10:42 > >> To: [hidden email] <[hidden email]> > >> Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 > >> > >> hello, > >> > >> 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 > >> > >> > >> Caused by: java.nio.file.NoSuchFileException: > >> > >> > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst > >> -> > >> > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst > >> > >> 配置和1.9.2 一样: > >> state.backend: rocksdb > >> state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ > >> state.savepoints.dir: hdfs:///flink/savepoints/wc/ > >> state.backend.incremental: true > >> > >> 代码上都有 > >> > >> env.enableCheckpointing(10000); > >> > >> > env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); > >> env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, > >> org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); > >> > >> > >> 是1.10.0 需要做什么特别配置么? > >> > |
In reply to this post by Yun Tang
Hi Yun,
不好意思这么久回复,是@Congxian 描述的第2种情况。异常就是我通过socket 输入的特定的word抛出runtimeexception 使task 失败,然后job会尝试从checkpoint中恢复,但是恢复的过程中就报 Caused by: java.nio.file.NoSuchFileException: /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst -> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst 情况和@chenxyz 类似。 http://apache-flink.147419.n8.nabble.com/rocksdb-Could-not-restore-keyed-state-backend-for-KeyedProcessOperator-td2232.html 换成1.10.1 就可以了 Best wishes. Yun Tang <[hidden email]> 于2020年7月15日周三 下午4:35写道: > Hi Robin > > 其实你的说法不是很准确,社区是明文保证savepoint的兼容性 > [1],但是并不意味着跨大版本时无法从checkpoint恢复,社区不承诺主要还是维护其太耗费精力,但是实际从代码角度来说,在合理使用state > schema evolution [2]的前提下,目前跨版本checkpoint恢复基本都是兼容的. > > 另外 @Peihui 也请麻烦对你的异常描述清晰一些,我的第一次回复已经推测该异常不是root cause,还请在日志中找一下无法恢复的root > cause,如果不知道怎么从日志里面找,可以把相关日志分享出来。 > > > [1] > https://ci.apache.org/projects/flink/flink-docs-stable/ops/upgrading.html#compatibility-table > [2] > https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/state/schema_evolution.html > > 祝好 > 唐云 > > > ________________________________ > From: Robin Zhang <[hidden email]> > Sent: Wednesday, July 15, 2020 16:23 > To: [hidden email] <[hidden email]> > Subject: Re: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 > > 据我所知,跨大版本的不能直接从checkoint恢复,只能放弃状态重新跑 > > Best > Robin Zhang > ________________________________ > From: Peihui He <[hidden email]> > Sent: Tuesday, July 14, 2020 10:42 > To: [hidden email] <[hidden email]> > Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 > > hello, > > 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 > > > Caused by: java.nio.file.NoSuchFileException: > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst > -> > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst > > 配置和1.9.2 一样: > state.backend: rocksdb > state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ > state.savepoints.dir: hdfs:///flink/savepoints/wc/ > state.backend.incremental: true > > 代码上都有 > > env.enableCheckpointing(10000); > > env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); > env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, > org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); > > > 是1.10.0 需要做什么特别配置么? > > > > -- > Sent from: http://apache-flink.147419.n8.nabble.com/ > |
Hi Peihui
Flink-1.10.1 里面涉及到相关代码的改动就是更改了restore时path的类[1],但是你们的操作系统并不是windows,按道理应该是没有关系的。 另外,这个问题在你遇到failover时候是必现的么?从文件路径看,作业也没有开启local recovery是吧? [1] https://github.com/apache/flink/commit/399329275e5e2baca9ed9494cce97ff732ac077a 祝好 唐云 ________________________________ From: Peihui He <[hidden email]> Sent: Thursday, July 16, 2020 16:15 To: [hidden email] <[hidden email]> Subject: Re: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 Hi Yun, 不好意思这么久回复,是@Congxian 描述的第2种情况。异常就是我通过socket 输入的特定的word抛出runtimeexception 使task 失败,然后job会尝试从checkpoint中恢复,但是恢复的过程中就报 Caused by: java.nio.file.NoSuchFileException: /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst -> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst 情况和@chenxyz 类似。 http://apache-flink.147419.n8.nabble.com/rocksdb-Could-not-restore-keyed-state-backend-for-KeyedProcessOperator-td2232.html 换成1.10.1 就可以了 Best wishes. Yun Tang <[hidden email]> 于2020年7月15日周三 下午4:35写道: > Hi Robin > > 其实你的说法不是很准确,社区是明文保证savepoint的兼容性 > [1],但是并不意味着跨大版本时无法从checkpoint恢复,社区不承诺主要还是维护其太耗费精力,但是实际从代码角度来说,在合理使用state > schema evolution [2]的前提下,目前跨版本checkpoint恢复基本都是兼容的. > > 另外 @Peihui 也请麻烦对你的异常描述清晰一些,我的第一次回复已经推测该异常不是root cause,还请在日志中找一下无法恢复的root > cause,如果不知道怎么从日志里面找,可以把相关日志分享出来。 > > > [1] > https://ci.apache.org/projects/flink/flink-docs-stable/ops/upgrading.html#compatibility-table > [2] > https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/state/schema_evolution.html > > 祝好 > 唐云 > > > ________________________________ > From: Robin Zhang <[hidden email]> > Sent: Wednesday, July 15, 2020 16:23 > To: [hidden email] <[hidden email]> > Subject: Re: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 > > 据我所知,跨大版本的不能直接从checkoint恢复,只能放弃状态重新跑 > > Best > Robin Zhang > ________________________________ > From: Peihui He <[hidden email]> > Sent: Tuesday, July 14, 2020 10:42 > To: [hidden email] <[hidden email]> > Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 > > hello, > > 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 > > > Caused by: java.nio.file.NoSuchFileException: > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst > -> > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst > > 配置和1.9.2 一样: > state.backend: rocksdb > state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ > state.savepoints.dir: hdfs:///flink/savepoints/wc/ > state.backend.incremental: true > > 代码上都有 > > env.enableCheckpointing(10000); > > env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); > env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, > org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); > > > 是1.10.0 需要做什么特别配置么? > > > > -- > Sent from: http://apache-flink.147419.n8.nabble.com/ > |
Hi Yun,
作业没有开启local recovery, 我这边测试1.10.0是必现的。 Best wishes. Yun Tang <[hidden email]> 于2020年7月16日周四 下午5:04写道: > Hi Peihui > > Flink-1.10.1 > 里面涉及到相关代码的改动就是更改了restore时path的类[1],但是你们的操作系统并不是windows,按道理应该是没有关系的。 > 另外,这个问题在你遇到failover时候是必现的么?从文件路径看,作业也没有开启local recovery是吧? > > > [1] > https://github.com/apache/flink/commit/399329275e5e2baca9ed9494cce97ff732ac077a > 祝好 > 唐云 > ________________________________ > From: Peihui He <[hidden email]> > Sent: Thursday, July 16, 2020 16:15 > To: [hidden email] <[hidden email]> > Subject: Re: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 > > Hi Yun, > > 不好意思这么久回复,是@Congxian 描述的第2种情况。异常就是我通过socket > 输入的特定的word抛出runtimeexception 使task > 失败,然后job会尝试从checkpoint中恢复,但是恢复的过程中就报 > > Caused by: java.nio.file.NoSuchFileException: > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst > -> > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst > > 情况和@chenxyz 类似。 > > http://apache-flink.147419.n8.nabble.com/rocksdb-Could-not-restore-keyed-state-backend-for-KeyedProcessOperator-td2232.html > > 换成1.10.1 就可以了 > > Best wishes. > > Yun Tang <[hidden email]> 于2020年7月15日周三 下午4:35写道: > > > Hi Robin > > > > 其实你的说法不是很准确,社区是明文保证savepoint的兼容性 > > [1],但是并不意味着跨大版本时无法从checkpoint恢复,社区不承诺主要还是维护其太耗费精力,但是实际从代码角度来说,在合理使用state > > schema evolution [2]的前提下,目前跨版本checkpoint恢复基本都是兼容的. > > > > 另外 @Peihui 也请麻烦对你的异常描述清晰一些,我的第一次回复已经推测该异常不是root cause,还请在日志中找一下无法恢复的root > > cause,如果不知道怎么从日志里面找,可以把相关日志分享出来。 > > > > > > [1] > > > https://ci.apache.org/projects/flink/flink-docs-stable/ops/upgrading.html#compatibility-table > > [2] > > > https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/state/schema_evolution.html > > > > 祝好 > > 唐云 > > > > > > ________________________________ > > From: Robin Zhang <[hidden email]> > > Sent: Wednesday, July 15, 2020 16:23 > > To: [hidden email] <[hidden email]> > > Subject: Re: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 > > > > 据我所知,跨大版本的不能直接从checkoint恢复,只能放弃状态重新跑 > > > > Best > > Robin Zhang > > ________________________________ > > From: Peihui He <[hidden email]> > > Sent: Tuesday, July 14, 2020 10:42 > > To: [hidden email] <[hidden email]> > > Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 > > > > hello, > > > > 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 > > > > > > Caused by: java.nio.file.NoSuchFileException: > > > > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst > > -> > > > > > /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst > > > > 配置和1.9.2 一样: > > state.backend: rocksdb > > state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ > > state.savepoints.dir: hdfs:///flink/savepoints/wc/ > > state.backend.incremental: true > > > > 代码上都有 > > > > env.enableCheckpointing(10000); > > > > > env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); > > env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, > > org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); > > > > > > 是1.10.0 需要做什么特别配置么? > > > > > > > > -- > > Sent from: http://apache-flink.147419.n8.nabble.com/ > > > |
Hi Yun, 我这边测试需要在集群上跑的,本地idea跑是没有问题的。 flink 1.10.1 的flink-conf.yaml 是cope flink 1.10.0 的,但是1.10.0 就是报错。 附件就是源码job。如果你要的跑需要改下socket host的。只要socket 中输入hepeihui 就会抛异常的。 Peihui He <[hidden email]> 于2020年7月16日周四 下午5:26写道:
|
Hi Peihui
感谢你的回信。能否帮忙用 1.10.0 复现一次,然后把相关的日志(JM log 和 TM Log,方便的话,也开启一下 debug 日志)分享一下呢?如果日志太大的话,可以尝试贴待 gist[1] 然后邮件列表回复一个地址即可, 非常感谢~ [1] https://gist.github.com/ Best, Congxian Peihui He <[hidden email]> 于2020年7月16日周四 下午5:54写道: > Hi Yun, > > 我这边测试需要在集群上跑的,本地idea跑是没有问题的。 > flink 1.10.1 的flink-conf.yaml 是cope flink 1.10.0 的,但是1.10.0 就是报错。 > > 附件就是源码job。如果你要的跑需要改下socket host的。只要socket 中输入hepeihui 就会抛异常的。 > > Peihui He <[hidden email]> 于2020年7月16日周四 下午5:26写道: > >> Hi Yun, >> >> 作业没有开启local recovery, 我这边测试1.10.0是必现的。 >> >> Best wishes. >> >> Yun Tang <[hidden email]> 于2020年7月16日周四 下午5:04写道: >> >>> Hi Peihui >>> >>> Flink-1.10.1 >>> 里面涉及到相关代码的改动就是更改了restore时path的类[1],但是你们的操作系统并不是windows,按道理应该是没有关系的。 >>> 另外,这个问题在你遇到failover时候是必现的么?从文件路径看,作业也没有开启local recovery是吧? >>> >>> >>> [1] >>> https://github.com/apache/flink/commit/399329275e5e2baca9ed9494cce97ff732ac077a >>> 祝好 >>> 唐云 >>> ________________________________ >>> From: Peihui He <[hidden email]> >>> Sent: Thursday, July 16, 2020 16:15 >>> To: [hidden email] <[hidden email]> >>> Subject: Re: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 >>> >>> Hi Yun, >>> >>> 不好意思这么久回复,是@Congxian 描述的第2种情况。异常就是我通过socket >>> 输入的特定的word抛出runtimeexception 使task >>> 失败,然后job会尝试从checkpoint中恢复,但是恢复的过程中就报 >>> >>> Caused by: java.nio.file.NoSuchFileException: >>> >>> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst >>> -> >>> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst >>> >>> 情况和@chenxyz 类似。 >>> >>> http://apache-flink.147419.n8.nabble.com/rocksdb-Could-not-restore-keyed-state-backend-for-KeyedProcessOperator-td2232.html >>> >>> 换成1.10.1 就可以了 >>> >>> Best wishes. >>> >>> Yun Tang <[hidden email]> 于2020年7月15日周三 下午4:35写道: >>> >>> > Hi Robin >>> > >>> > 其实你的说法不是很准确,社区是明文保证savepoint的兼容性 >>> > >>> [1],但是并不意味着跨大版本时无法从checkpoint恢复,社区不承诺主要还是维护其太耗费精力,但是实际从代码角度来说,在合理使用state >>> > schema evolution [2]的前提下,目前跨版本checkpoint恢复基本都是兼容的. >>> > >>> > 另外 @Peihui 也请麻烦对你的异常描述清晰一些,我的第一次回复已经推测该异常不是root >>> cause,还请在日志中找一下无法恢复的root >>> > cause,如果不知道怎么从日志里面找,可以把相关日志分享出来。 >>> > >>> > >>> > [1] >>> > >>> https://ci.apache.org/projects/flink/flink-docs-stable/ops/upgrading.html#compatibility-table >>> > [2] >>> > >>> https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/state/schema_evolution.html >>> > >>> > 祝好 >>> > 唐云 >>> > >>> > >>> > ________________________________ >>> > From: Robin Zhang <[hidden email]> >>> > Sent: Wednesday, July 15, 2020 16:23 >>> > To: [hidden email] <[hidden email]> >>> > Subject: Re: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 >>> > >>> > 据我所知,跨大版本的不能直接从checkoint恢复,只能放弃状态重新跑 >>> > >>> > Best >>> > Robin Zhang >>> > ________________________________ >>> > From: Peihui He <[hidden email]> >>> > Sent: Tuesday, July 14, 2020 10:42 >>> > To: [hidden email] <[hidden email]> >>> > Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 >>> > >>> > hello, >>> > >>> > 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 >>> > >>> > >>> > Caused by: java.nio.file.NoSuchFileException: >>> > >>> > >>> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst >>> > -> >>> > >>> > >>> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst >>> > >>> > 配置和1.9.2 一样: >>> > state.backend: rocksdb >>> > state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ >>> > state.savepoints.dir: hdfs:///flink/savepoints/wc/ >>> > state.backend.incremental: true >>> > >>> > 代码上都有 >>> > >>> > env.enableCheckpointing(10000); >>> > >>> > >>> env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); >>> > env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, >>> > org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); >>> > >>> > >>> > 是1.10.0 需要做什么特别配置么? >>> > >>> > >>> > >>> > -- >>> > Sent from: http://apache-flink.147419.n8.nabble.com/ >>> > >>> >> |
Hi Congxian 见附件。 Best wishes. Congxian Qiu <[hidden email]> 于2020年7月16日周四 下午8:24写道: Hi Peihui |
Hi Peihui
感谢你的回复,我这边没有看到附件,你那边能否确认下呢? Best, Congxian Peihui He <[hidden email]> 于2020年7月17日周五 上午10:13写道: > Hi Congxian > > 见附件。 > > Best wishes. > > Congxian Qiu <[hidden email]> 于2020年7月16日周四 下午8:24写道: > >> Hi Peihui >> >> 感谢你的回信。能否帮忙用 1.10.0 复现一次,然后把相关的日志(JM log 和 TM Log,方便的话,也开启一下 debug >> 日志)分享一下呢?如果日志太大的话,可以尝试贴待 gist[1] 然后邮件列表回复一个地址即可, >> 非常感谢~ >> >> [1] https://gist.github.com/ >> >> Best, >> Congxian >> >> >> Peihui He <[hidden email]> 于2020年7月16日周四 下午5:54写道: >> >> > Hi Yun, >> > >> > 我这边测试需要在集群上跑的,本地idea跑是没有问题的。 >> > flink 1.10.1 的flink-conf.yaml 是cope flink 1.10.0 的,但是1.10.0 就是报错。 >> > >> > 附件就是源码job。如果你要的跑需要改下socket host的。只要socket 中输入hepeihui 就会抛异常的。 >> > >> > Peihui He <[hidden email]> 于2020年7月16日周四 下午5:26写道: >> > >> >> Hi Yun, >> >> >> >> 作业没有开启local recovery, 我这边测试1.10.0是必现的。 >> >> >> >> Best wishes. >> >> >> >> Yun Tang <[hidden email]> 于2020年7月16日周四 下午5:04写道: >> >> >> >>> Hi Peihui >> >>> >> >>> Flink-1.10.1 >> >>> 里面涉及到相关代码的改动就是更改了restore时path的类[1],但是你们的操作系统并不是windows,按道理应该是没有关系的。 >> >>> 另外,这个问题在你遇到failover时候是必现的么?从文件路径看,作业也没有开启local recovery是吧? >> >>> >> >>> >> >>> [1] >> >>> >> https://github.com/apache/flink/commit/399329275e5e2baca9ed9494cce97ff732ac077a >> >>> 祝好 >> >>> 唐云 >> >>> ________________________________ >> >>> From: Peihui He <[hidden email]> >> >>> Sent: Thursday, July 16, 2020 16:15 >> >>> To: [hidden email] <[hidden email]> >> >>> Subject: Re: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 >> >>> >> >>> Hi Yun, >> >>> >> >>> 不好意思这么久回复,是@Congxian 描述的第2种情况。异常就是我通过socket >> >>> 输入的特定的word抛出runtimeexception 使task >> >>> 失败,然后job会尝试从checkpoint中恢复,但是恢复的过程中就报 >> >>> >> >>> Caused by: java.nio.file.NoSuchFileException: >> >>> >> >>> >> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst >> >>> -> >> >>> >> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst >> >>> >> >>> 情况和@chenxyz 类似。 >> >>> >> >>> >> http://apache-flink.147419.n8.nabble.com/rocksdb-Could-not-restore-keyed-state-backend-for-KeyedProcessOperator-td2232.html >> >>> >> >>> 换成1.10.1 就可以了 >> >>> >> >>> Best wishes. >> >>> >> >>> Yun Tang <[hidden email]> 于2020年7月15日周三 下午4:35写道: >> >>> >> >>> > Hi Robin >> >>> > >> >>> > 其实你的说法不是很准确,社区是明文保证savepoint的兼容性 >> >>> > >> >>> >> [1],但是并不意味着跨大版本时无法从checkpoint恢复,社区不承诺主要还是维护其太耗费精力,但是实际从代码角度来说,在合理使用state >> >>> > schema evolution [2]的前提下,目前跨版本checkpoint恢复基本都是兼容的. >> >>> > >> >>> > 另外 @Peihui 也请麻烦对你的异常描述清晰一些,我的第一次回复已经推测该异常不是root >> >>> cause,还请在日志中找一下无法恢复的root >> >>> > cause,如果不知道怎么从日志里面找,可以把相关日志分享出来。 >> >>> > >> >>> > >> >>> > [1] >> >>> > >> >>> >> https://ci.apache.org/projects/flink/flink-docs-stable/ops/upgrading.html#compatibility-table >> >>> > [2] >> >>> > >> >>> >> https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/state/schema_evolution.html >> >>> > >> >>> > 祝好 >> >>> > 唐云 >> >>> > >> >>> > >> >>> > ________________________________ >> >>> > From: Robin Zhang <[hidden email]> >> >>> > Sent: Wednesday, July 15, 2020 16:23 >> >>> > To: [hidden email] <[hidden email]> >> >>> > Subject: Re: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 >> >>> > >> >>> > 据我所知,跨大版本的不能直接从checkoint恢复,只能放弃状态重新跑 >> >>> > >> >>> > Best >> >>> > Robin Zhang >> >>> > ________________________________ >> >>> > From: Peihui He <[hidden email]> >> >>> > Sent: Tuesday, July 14, 2020 10:42 >> >>> > To: [hidden email] <[hidden email]> >> >>> > Subject: flink 1.9.2 升级 1.10.0 任务失败不能从checkpoint恢复 >> >>> > >> >>> > hello, >> >>> > >> >>> > 当升级到1.10.0 时候,程序出错后会尝试从checkpoint恢复,但是总是失败,提示 >> >>> > >> >>> > >> >>> > Caused by: java.nio.file.NoSuchFileException: >> >>> > >> >>> > >> >>> >> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/db/000009.sst >> >>> > -> >> >>> > >> >>> > >> >>> >> /data/hadoop/yarn/local/usercache/hdfs/appcache/application_1589438582606_30760/flink-io-26af2be2-2b14-4eab-90d8-9ebb32ace6e3/job_6b6cacb02824b8521808381113f57eff_op_StreamGroupedReduce_54cc3719665e6629c9000e9308537a5e__1_1__uuid_afda2b8b-0b79-449e-88b5-c34c27c1a079/8f609663-4fbb-483f-83c0-de04654310f7/000009.sst >> >>> > >> >>> > 配置和1.9.2 一样: >> >>> > state.backend: rocksdb >> >>> > state.checkpoints.dir: hdfs:///flink/checkpoints/wc/ >> >>> > state.savepoints.dir: hdfs:///flink/savepoints/wc/ >> >>> > state.backend.incremental: true >> >>> > >> >>> > 代码上都有 >> >>> > >> >>> > env.enableCheckpointing(10000); >> >>> > >> >>> > >> >>> >> env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); >> >>> > env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, >> >>> > org.apache.flink.api.common.time.Time.of(10, TimeUnit.SECONDS))); >> >>> > >> >>> > >> >>> > 是1.10.0 需要做什么特别配置么? >> >>> > >> >>> > >> >>> > >> >>> > -- >> >>> > Sent from: http://apache-flink.147419.n8.nabble.com/ >> >>> > >> >>> >> >> >> > |
Hi Congxian, 我这边通过chrome 浏览器看到是上传了的,并且可以下载的。 Best wishes. Congxian Qiu <[hidden email]> 于2020年7月17日周五 下午1:31写道: Hi Peihui |
Hi Congxian, 这个问题有结论没呢? Best wishes. Peihui He <[hidden email]> 于2020年7月17日周五 下午4:21写道:
|
Free forum by Nabble | Edit this page |