繁体   English   中英

运行多个 flink 作业的问题(在 Flink 集群上)

[英]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.shbin/stop-cluster.sh 这种方法是依靠conf/mastersconf/workers来确定集群组件实例的数量,默认taskmanager的数量只有1个,有1个slot。

当作业并行度只有一个时,只能运行一个作业(当作业并行度大于一时,不能运行任何作业)。 当你没有足够的 taskmanager(slot)时,你无法运行足够多的作业(每个作业至少需要一个 slot)

可以参考图片上的步骤添加taskmanager(slot)

flink 文档链接

这可能是因为您在 env.execute("FLINK-JOB") 中使用了相同的作业名称。 请尝试为您的 5 个作业设置不同,或者,您可以在部署 flink 作业时使用参数配置传递作业名称,并使用 env.execute(params.get("your-job-name")) 传递不同的作业名称。 拥有唯一的工作名称应该会有所帮助。 谢谢

暂无
暂无

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

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