我有一个独立的群集,其中有一个带有1小时事件时间窗口的Flink流作业。运行2-3小时后,该作业死于“ org.apache.flink.util.FlinkException:分配的插槽...已删除”异常。
当我的窗户只有15分钟时,这项工作进展顺利。
丢失空位后,工作如何恢复?是否可以在多个插槽上运行相同的计算以防止出现此错误?我应该增加任何超时时间吗?如果是这样的话?
Flink流作业从checkpoint的故障中恢复。如果检查点已外部化,例如在S3中。您可以手动或要求Flink从最近的检查点自动恢复。
取决于上游消息排队服务,您可能会收到重复的消息。因此,使您的摄取具有幂等性。
此外,插槽移除故障可能是各种故障的征兆。
您在已删除的任务管理器日志中看到什么?