为什么stop-cluster.sh会停止最新启动的Flink集群?

问题描述 投票:1回答:1

我计划从Flink 1.5.2升级到1.6.0,然后进行作业迁移。为了减少作业的暂停时间,我计划同时运行两个Flink集群,成功迁移作业后,我会停止旧的。但是,当我尝试通过在Flink1.5.2 / bin目录中运行stop-cluster.sh来停止Flink集群时,我发现停止的集群是Flink 1.6.0而不是预期的Flink 1.5.2。

我做了一些测试,发现stop-cluster.sh只是停止了最新启动的Flink集群,也就是说,如果先启动集群1.6.0,然后启动Flink 1.5.2,之后运行stop-cluster。 sh,它会首先停止Flink 1.5.2甚至你在集群1.6.0目录Flink1.6.0 / bin上运行stop-cluster.sh。根据我的理解,当在Flink1.6.0 / bin上运行stop-cluster.sh时,它应该停止集群1.6.0,并在Flink1.5.2 / bin上运行stop-cluster.sh时停止集群1.5.2但它没有。

我做了一些研究,发现stop-cluster.sh会基于包含pid的文件来终止进程,但是我不知道该文件的位置,我怀疑这两个集群都在同一个pid写入pid他们开始的地方,这使得stop-cluster.sh混乱。

请告知如何停止指定的群集。

apache-flink
1个回答
1
投票

默认情况下,pid文件写入/tmp并且名称为flink-<USER>-<FLINK_COMPONENT>.pid。您可以通过在env.pid.dir中设置flink-conf.yaml配置来控制目录。通过使用不同的pid文件目录,您可以控制不同的群集。

© www.soinside.com 2019 - 2024. All rights reserved.