我想在从 IDE 本地启动 Flink Web 界面时访问它。
我需要这个,因为我想访问 Flink 的计数器(累加器(。
为了在本地启动 Flink 时启动 Web 界面,我们必须在 FlinkMiniCluster
中启用 Web 界面。FlinkMiniCluster
是管理本地所有 Flink 服务启动的类。
包括依赖项:
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-runtime-web_${scala.binary.version}</artifactId>
<version>${flink.version}</version>
</dependency>
以下代码片段将为 Web 界面启用StreamExecutionEnvironment
:
// set up the execution environment
Configuration conf = new Configuration();
conf.setBoolean(ConfigConstants.LOCAL_START_WEBSERVER, true);
final StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironment(8, conf);
您还可以使用"休息选项"来配置服务器:
conf.setInteger(RestOptions.PORT, 8082);
在 Flink 新版本中ConfigConstants.LOCAL_START_WEBSERVER
已被弃用,相反,您可以使用以下内容,
StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(new Configuration());
另外不要忘记添加 flink-runtime-web 依赖项。
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-runtime-web</artifactId>
<version>${flink.version}</version>
</dependency>
除了上面答案中的代码外,pom 文件中还需要以下依赖项。
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-runtime-web_${scala.binary.version}</artifactId>
<version>${flink.version}</version>
</dependency>