我正在使用以下配置在 AWS yarn 集群上运行 flink 流作业
主节点 - 1,核心节点 -1,任务节点 - 3
我启用了
jobmanager.execution.failover-strategy: region
由于我的一个任务节点失败并尝试在区域级别重新启动(在我的情况下是在任务节点级别(,并且我启用了 fixedDelayrestart 的重新启动策略,延迟 5 次尝试,延迟 5 分钟,我的检查点被禁用。
参考图片
如果您看到该映像,则重新启动的时间比预期的要多。
谁能帮我理解为什么它的行为是这样的?
该文档有一节是关于"重新启动管道区域故障转移策略">[1]。底线是,如果您有一个带有物理分区流的操作员的流式处理作业,例如 keyBy
,则所有任务最终将位于同一区域中,因此所有任务将作为一个整体重新启动。对于批处理作业,您需要将ExecutionMode
[2] 配置为BATCH
或BATCH_FORCED
。
[1] https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/task_failure_recovery.html#restart-pipelined-region-failover-strategy
[2] https://ci.apache.org/projects/flink/flink-docs-release-1.9/api/java/org/apache/flink/api/common/ExecutionMode.html