我有一个Flink
会话
集群在Kubernetes之上,最近我从基于ZK的HA切换到Kubernetes HA。
通读
https://cwiki.apache.org/confluence/display/FLINK/FLIP-144%3A+Native+Kubernetes+HA+for+Flink#FLIP144:NativeKubernetesHAforFlink-LeaderElection
我可以在Flink名称空间上观察到上述文档中描述的每个资源的配置映射:
k8s-ha-app1-00000000000000000000000000000000-jobmanager 2 4m35s
k8s-ha-app1-dispatcher 2 4m38s
k8s-ha-app1-resourcemanager 2 4m38s
k8s-ha-app1-restserver 2 4m38s但是,我没有看到"jobmanager“资源的单个configmap。我看到了与一天中运行的作业一样多的作业。这可能是一个很高的数字,因此随着时间的推移,它意味着
配置映射的大量涌现
在群集命名空间中。
作业管理器的不同HA配置图似乎在以下两个方面有所不同
"address":"akka.tcp://flink@flink-jobmanager:6123/user/rpc/jobmanager
_
XXX“
(其中XXX正在增加)
和"sessionId“值。
有人能给我解释一下这些"jobmanager“资源是建立在什么基础上的吗?一开始,我认为可能会有计划的清理,但我在文档中看到,HA配置映射是从所有者那里剥离的,而不是删除的。我是不是错过了让所有作业都在同一个会话上运行的设置,或者在作业运行后清理k8s-ha-app1-XXXXXXXXXXXXXXXXXXXXX-jobmanager的方法?
发布于 2021-02-17 00:49:32
Flink在内部的工作方式是Dispatcher
为每个提交的作业创建专用的JobMaster
组件。此组件需要领导人选举,为此,它创建了一个k8s-ha-app1--jobmanager
配置映射。这就是为什么你会看到多个xyz-jobmanager
正在创建ConfigMaps。
这些ConfigMaps不会被清理的原因是,目前只有在整个集群关闭时才会发生这种情况。这是一个限制,Flink社区已经创建了
FLINK-20695
为了修复它。我们的想法是JobMaster
在作业达到终端状态后,可以删除相关的ConfigMaps。
有点相关的是另一个限制,它阻碍了在会话集群的情况下进行适当的清理。如果使用SIGTERM信号关闭群集,则当前不能保证清除所有资源。请参见
FLINK-21008
了解更多信息。
https://stackoverflow.com/questions/66170437
复制相似问题