![](/img/trans.png)
[英]Running multiple Flink programs in a Flink Standalone Cluster (v1.4.2)
[英]Issue running multiple flink jobs (on Flink Cluster)
各位,
我们几乎没有 flink 作业 - 构建为单独的可执行 Jars
每个 flink 作业都使用以下内容来运行 -
> StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
>
> try {
> env.execute("FLINK-JOB");
> } catch (Exception ex) {
> // Some message
> }
但是当我们部署这些 Flink 作业(总共 5 个)时 - 只有一个运行,另一个关闭。
我们部署的方式是通过 bin/flink run
非常感谢
我猜您可能正在使用 flink Standalone 的默认启动方法,通过bin/start-cluster.sh和bin/stop-cluster.sh 。 这种方法是依靠conf/masters和conf/workers来确定集群组件实例的数量,默认taskmanager的数量只有1个,有1个slot。
当作业并行度只有一个时,只能运行一个作业(当作业并行度大于一时,不能运行任何作业)。 当你没有足够的 taskmanager(slot)时,你无法运行足够多的作业(每个作业至少需要一个 slot)
这可能是因为您在 env.execute("FLINK-JOB") 中使用了相同的作业名称。 请尝试为您的 5 个作业设置不同,或者,您可以在部署 flink 作业时使用参数配置传递作业名称,并使用 env.execute(params.get("your-job-name")) 传递不同的作业名称。 拥有唯一的工作名称应该会有所帮助。 谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.