我的flink streaming作业(带检查点)从kafka源获取数据并打印(非常简单的作业)。
"如果我杀了Kafka的源头"
我期待的是:flink作业将终止(因为flink将丢失源)
- 事情经过:flink job不会在重试连接到源kafka时死亡**
我希望我的flink job在断开连接后死亡。
即使我设置了重启策略,flink job也不会死。
- 如何在Kafka断开连接后终止flink job?**
仅供参考)
- 我的闪转版本:1.14.4
- 检查点设置(在scala中)
...
env.获取检查点配置.设置检查点模式(检查点模式. AT_LEAST_ONCE)
env.获取检查点配置.设置检查点超时(时间单位:小时到毫秒(1))
env.获取检查点配置启用外部化检查点(外部化检查点清理保留开启取消)
环境获取检查点配置设置允许的检查点故障数量(0)
环境获取配置设置使用快照压缩(真)
...
先谢了!
1条答案
按热度按时间k10s72fa1#
在这种情况下,检查点设置并不相关,因为它们是专门与创建检查点相关联的,所以只有在检查点失败的情况下,这些设置才相关。
在您的用例中,在Flink检测到Kafka代理不再可用之前,需要一段时间。Flink不会立即停止,除非此时Flink尝试连接Kafka但失败。如果您不希望Flink在失败时重新启动,则需要将
restart-strategy
设置为none
。请参见https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/ops/state/task_failure_recovery/#no-restart-strategy