使用Flink本地环境进行生产

问题描述 投票:0回答:2

我想了解LocalExecutionEnvironment的局限性,以及是否可以将其用于生产环境?

感谢任何帮助/见解。谢谢

apache-flink
2个回答
0
投票

LocalExecutionEnvironment启动了Flink MiniCluster,它在单个JVM中运行整个Flink系统(JobManager,TaskManager)。因此,您仅限于一台计算机上可用的CPU内核和内存。您也没有多个JobManager的HA。我没有看过MiniCluster环境的其他限制,但我敢肯定还有更多限制。


0
投票

LocalExecutionEnvironment在启动时不会加载配置文件,因此您必须在应用程序中进行所有配置。默认情况下,它也不提供REST端点。您可以通过执行以下操作来解决这两个问题:

String cwd = Paths.get(".").toAbsolutePath().normalize().toString();
Configuration conf = GlobalConfiguration.loadConfiguration(cwd);
env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf);

日志记录可能是另一个需要解决的问题。

您将无法使用Flink CLI来控制作业,但是,如果您创建Web UI(如上所示),则至少可以使用REST API来执行诸如触发保存点的操作(首先使用REST之后获取工作ID的API)。

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