本地 Flink 配置 运行 独立于 IDE
Local Flink config running standalone from IDE
如果我想 运行 一个本地的 Flink 应用程序,直接从 Intellij 中,但我需要指定配置参数(比如 fs.hdfs.hdfssite 来设置 S3 访问),还有其他的吗除了 ExecutionEnvironment.createLocalEnvironment(conf)
之外还提供那些配置参数的方法?如果我想使用 StreamExecutionEnvironment.getExecutionEnvironment
怎么办?我可以在我的项目中有一个 Flink 配置并将本地应用程序指向它吗?
这是正确的做法吗?或者你会设置 IDE 将应用程序提交到真正的本地 Flink 实例吗?
您可以使用 StreamExecutionEnvironment.getExecutionEnvironment()
-- 它会找出当前设置,如果在 IDE 中执行,将 return 和 "LocalEnvironemnt"。
因此,应该可以使用 conf/flink-conf.yaml
来设置您的配置值。
要创建带有配置选项的 StreamExecutionEnvironment
,请使用此调用 StreamExecutionEnvironment.createLocalEnvironment(int parallelism, Configuration configuration)
我可以通过提供 ENV_VAR FLINK_CONF_DIR 来加载 flink-conf.yaml 文件在 IntelliJ 运行 配置中
将以下依赖项添加到您的pom.xml:
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-metrics-jmx_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
然后更改您的作业以使用以下 StreamExecutionEnvironment:
Properties props = new Properties();
props.put("metrics.reporter.jmx.factory.class", "org.apache.flink.metrics.jmx.JMXReporterFactory");
Configuration conf = ConfigurationUtils.createConfiguration(props);
StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf);
如果您更喜欢使用 createLocalEnvironment
,它的工作方式相同,但没有 Flink 仪表板。
在此blog post您可以找到一个演示,包括源代码和屏幕截图。
如果我想 运行 一个本地的 Flink 应用程序,直接从 Intellij 中,但我需要指定配置参数(比如 fs.hdfs.hdfssite 来设置 S3 访问),还有其他的吗除了 ExecutionEnvironment.createLocalEnvironment(conf)
之外还提供那些配置参数的方法?如果我想使用 StreamExecutionEnvironment.getExecutionEnvironment
怎么办?我可以在我的项目中有一个 Flink 配置并将本地应用程序指向它吗?
这是正确的做法吗?或者你会设置 IDE 将应用程序提交到真正的本地 Flink 实例吗?
您可以使用 StreamExecutionEnvironment.getExecutionEnvironment()
-- 它会找出当前设置,如果在 IDE 中执行,将 return 和 "LocalEnvironemnt"。
因此,应该可以使用 conf/flink-conf.yaml
来设置您的配置值。
要创建带有配置选项的 StreamExecutionEnvironment
,请使用此调用 StreamExecutionEnvironment.createLocalEnvironment(int parallelism, Configuration configuration)
我可以通过提供 ENV_VAR FLINK_CONF_DIR 来加载 flink-conf.yaml 文件在 IntelliJ 运行 配置中
将以下依赖项添加到您的pom.xml:
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-metrics-jmx_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
然后更改您的作业以使用以下 StreamExecutionEnvironment:
Properties props = new Properties();
props.put("metrics.reporter.jmx.factory.class", "org.apache.flink.metrics.jmx.JMXReporterFactory");
Configuration conf = ConfigurationUtils.createConfiguration(props);
StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf);
如果您更喜欢使用 createLocalEnvironment
,它的工作方式相同,但没有 Flink 仪表板。
在此blog post您可以找到一个演示,包括源代码和屏幕截图。