先启动一个任务
flink run -c com.yang.flink.CDCJob test-cdc.jar
开启savepoint
命令: flink savepoint JobID 文件地址
flink savepoint e929a11d79bdc5e6f140f2cfb92e1335 file:///workspace/flinkSavepoints/backend
这样就开启好了
操作中的错误
详细信息
The program finished with the following exception:org.apache.flink.util.FlinkException: Triggering a savepoint for the job e929a11d79bdc5e6f140f2cfb92e1335 failed.at org.apache.flink.client.cli.CliFrontend.triggerSavepoint(CliFrontend.java:815)at org.apache.flink.client.cli.CliFrontend.lambda$savepoint$8(CliFrontend.java:783)at org.apache.flink.client.cli.CliFrontend.runClusterAction(CliFrontend.java:1041)at org.apache.flink.client.cli.CliFrontend.savepoint(CliFrontend.java:779)at org.apache.flink.client.cli.CliFrontend.parseAndRun(CliFrontend.java:1113)at org.apache.flink.client.cli.CliFrontend.lambda$mainInternal$9(CliFrontend.java:1189)at org.apache.flink.runtime.security.contexts.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:28)at org.apache.flink.client.cli.CliFrontend.mainInternal(CliFrontend.java:1189)at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1157)
Caused by: java.util.concurrent.CompletionException: java.util.concurrent.CompletionException: org.apache.flink.runtime.checkpoint.CheckpointException: An Exception occurred while triggering the checkpoint. IO-problem detected.at java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:326)at java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:338)at java.util.concurrent.CompletableFuture.uniRelay(CompletableFuture.java:911)at java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:899)at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)at org.apache.flink.runtime.rpc.akka.AkkaInvocationHandler.lambda$invokeRpc$1(AkkaInvocationHandler.java:260)at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)at org.apache.flink.util.concurrent.FutureUtils.doForward(FutureUtils.java:1298)at org.apache.flink.runtime.concurrent.akka.ClassLoadingUtils.lambda$null$1(ClassLoadingUtils.java:93)at org.apache.flink.runtime.concurrent.akka.ClassLoadingUtils.runWithContextClassLoader(ClassLoadingUtils.java:68)at org.apache.flink.runtime.concurrent.akka.ClassLoadingUtils.lambda$guardCompletionWithContextClassLoader$2(ClassLoadingUtils.java:92)at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)at org.apache.flink.runtime.concurrent.akka.AkkaFutureUtils$1.onComplete(AkkaFutureUtils.java:45)at akka.dispatch.OnComplete.internal(Future.scala:299)at akka.dispatch.OnComplete.internal(Future.scala:297)at akka.dispatch.japi$CallbackBridge.apply(Future.scala:224)at akka.dispatch.japi$CallbackBridge.apply(Future.scala:221)at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)at org.apache.flink.runtime.concurrent.akka.AkkaFutureUtils$DirectExecutionContext.execute(AkkaFutureUtils.java:65)at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:72)at scala.concurrent.impl.Promise$DefaultPromise.$anonfun$tryComplete$1(Promise.scala:288)at scala.concurrent.impl.Promise$DefaultPromise.$anonfun$tryComplete$1$adapted(Promise.scala:288)at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:288)at akka.pattern.PromiseActorRef.$bang(AskSupport.scala:622)at akka.pattern.PipeToSupport$PipeableFuture$$anonfun$pipeTo$1.applyOrElse(PipeToSupport.scala:25)at akka.pattern.PipeToSupport$PipeableFuture$$anonfun$pipeTo$1.applyOrElse(PipeToSupport.scala:23)at scala.concurrent.Future.$anonfun$andThen$1(Future.scala:536)at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:33)at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:33)at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:63)at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:100)at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:85)at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:100)at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:49)at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:48)at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: org.apache.flink.runtime.checkpoint.CheckpointException: org.apache.flink.runtime.checkpoint.CheckpointException: An Exception occurred while triggering the checkpoint. IO-problem detected.at org.apache.flink.runtime.checkpoint.PendingCheckpoint.abort(PendingCheckpoint.java:545)at org.apache.flink.runtime.checkpoint.CheckpointCoordinator.abortPendingCheckpoint(CheckpointCoordinator.java:2147)at org.apache.flink.runtime.checkpoint.CheckpointCoordinator.abortPendingCheckpoint(CheckpointCoordinator.java:2134)at org.apache.flink.runtime.checkpoint.CheckpointCoordinator.onTriggerFailure(CheckpointCoordinator.java:1000)at org.apache.flink.runtime.checkpoint.CheckpointCoordinator.onTriggerFailure(CheckpointCoordinator.java:973)at org.apache.flink.runtime.checkpoint.CheckpointCoordinator.lambda$startTriggeringCheckpoint$7(CheckpointCoordinator.java:701)at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:822)at java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:797)at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: java.io.IOException: Found local file path with authority 'workspace' in path 'file://workspace/flinkSavepoints/backend'. Hint: Did you forget a slash? (correct path would be 'file:///workspace/flinkSavepoints/backend')at org.apache.flink.core.fs.FileSystem.getUnguardedFileSystem(FileSystem.java:477)at org.apache.flink.core.fs.FileSystem.get(FileSystem.java:409)at org.apache.flink.core.fs.Path.getFileSystem(Path.java:274)at org.apache.flink.runtime.state.filesystem.AbstractFsCheckpointStorageAccess.initializeLocationForSavepoint(AbstractFsCheckpointStorageAccess.java:171)at org.apache.flink.runtime.checkpoint.CheckpointCoordinator.initializeCheckpointLocation(CheckpointCoordinator.java:826)at org.apache.flink.runtime.checkpoint.CheckpointCoordinator.lambda$startTriggeringCheckpoint$4(CheckpointCoordinator.java:624)at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)... 3 more
重点是这里
java.io.IOException: Found local file path with authority 'workspace' in path 'file://workspace/flinkSavepoints/backend'. Hint: Did you forget a slash? (correct path would be 'file:///workspace/flinkSavepoints/backend')
我的Linux服务器 workspace是在 “ / ”下面的。命令少了一个 “ / ”。