Кластер Flink 1.13.1 Потоковое задание завершается неудачно из-за проблем с потерянным руководством

#java #amazon-ec2 #apache-flink #flink-streaming #flink-sql

#Ява #amazon-ec2 #апач-флинк #мерцание-потоковое #флинк-sql

Вопрос:

Не мог бы кто-нибудь, пожалуйста, помочь мне, как я могу справиться с этой проблемой/ошибкой, связанной с потерей лидерства, поскольку это приводит к тому, что задания в реальном времени не укладываются в сроки, и это происходит с кластером Flink каждый раз в месяц?

 java.lang.Exception: Job leader for job id f7df1578fb94f7b6d8bc1b84ad4649aa lost leadership.  at org.apache.flink.runtime.taskexecutor.TaskExecutor$JobLeaderListenerImpl.lambda$null$2(TaskExecutor.java:2189)  at java.util.Optional.ifPresent(Optional.java:159)  at org.apache.flink.runtime.taskexecutor.TaskExecutor$JobLeaderListenerImpl.lambda$jobManagerLostLeadership$3(TaskExecutor.java:2187)  at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRunAsync(AkkaRpcActor.java:440)  at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcMessage(AkkaRpcActor.java:208)  at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleMessage(AkkaRpcActor.java:158)  at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:26)  at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:21)  at scala.PartialFunction.applyOrElse(PartialFunction.scala:123)  at scala.PartialFunction.applyOrElse$(PartialFunction.scala:122)  at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:21)  at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171)  at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:172)  at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:172)  at akka.actor.Actor.aroundReceive(Actor.scala:517)  at akka.actor.Actor.aroundReceive$(Actor.scala:515)  at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:225)  at akka.actor.ActorCell.receiveMessage(ActorCell.scala:592)  at akka.actor.ActorCell.invoke(ActorCell.scala:561)  at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:258)  at akka.dispatch.Mailbox.run(Mailbox.scala:225)  at akka.dispatch.Mailbox.exec(Mailbox.scala:235)  at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)  at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)  at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)  at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)  

Комментарии:

1. Привет. Вы включили параметры проверки и восстановления ? Это не решит проблему, но может уменьшить потери данных в реальном времени.

2. Да, контрольная точка включена, но из-за водяных знаков события пропускаются, что приводит к ложному вычислению.

3. Можете ли вы показать код определения потока ?