我想了解LocalExecutionEnvironment的局限性,以及它是否可以在生产中运行?
感谢任何帮助/洞察力。谢谢
发布于 2019-12-25 04:10:37
LocalExecutionEnvironment创建了一个Flink MiniCluster,它在单个JVM中运行整个Flink系统(JobManager、TaskManager)。因此,您只能在这一台机器上使用CPU核心和内存。您也没有来自多个JobManagers的HA。我还没有研究过MiniCluster环境的其他限制,但我相信还有更多的限制。
发布于 2019-12-25 20:13:08
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 API获取作业ID之后)。
https://stackoverflow.com/questions/59459513
复制相似问题