繁体   English   中英

如何让 Flink taskmanager pod 在 K8s 上运行

[英]How to keep Flink taskmanager pod running on K8s

我使用以下命令在本机 K8s 上使用 Session 模式创建了一个 Flink 集群:

$ ./bin/kubernetes-session.sh -Dkubernetes.cluster-id=my-first-flink-cluster

根据这些说明

我能够向集群提交作业并查看 Flink UI。 但是,我注意到 Flink 仅在提交作业时创建一个 taskmanager pod,并在作业完成后立即将其删除。 以前,我在 Google Dataproc 上使用基于 YARN 的部署尝试了相同的操作,并且使用该方法,集群始终运行一个任务管理器,从而减少了作业开始时间。

因此,有没有办法使用 K8s Flink 部署保持 taskmanager pod 始终运行,从而减少作业启动时间?

Flink 提供的原生 k8s 支持的目的是在需要时进行这种活动的资源分配(即通过新的 TaskManager 实例的任务槽)。 除此之外,如果不再使用 TaskManager pod,它将允许关闭它们。 这就是你观察到的行为。

您正在寻找的是独立的 k8s 支持 在这里,Flink 不会尝试启动新的 TaskManager pod。 ResourceManager 是被动的,即它只考虑注册的TaskManager。 一些外部进程(或用户)必须改为管理 TaskManager pod。 如果没有足够的可用任务槽,这可能会导致作业失败。

最好的,马蒂亚斯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM