1. 背景
在IDEA中本地执行Flink程序,直接通过下面的方式创建的Environment,是没有Web UI的
val senv = StreamExecutionEnvironment.getExecutionEnvironment
2. 解决方法
pom.xml添加依赖
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-runtime-web</artifactId>
<version>1.15.0</version>
<scope>provided</scope>
</dependency>
通过下面的方式创建带有Web UI的本地Environment
import org.apache.flink.configuration.Configuration
import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
object MysqlCDC2Iceberg {
def main(args: Array[String]): Unit = {
val isTestValue = 1
// 如果是本地执行,则创建带Web UI的环境
var senv: StreamExecutionEnvironment = null
if (isTestValue == 1) {
val flinkConf: Configuration = new Configuration()
flinkConf.setInteger("rest.port", 8081)
senv = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(flinkConf)
} else {
senv = StreamExecutionEnvironment.getExecutionEnvironment
}
}
}
在IDEA中运行程序,然后访问localhost:8081,就可以看到下面的界面

该博客介绍了如何在IDEA中为本地执行的Flink程序启用WebUI。通过在pom.xml中添加flink-runtime-web依赖,并使用特定方式创建Environment,设置rest.port属性,可以实现带有WebUI的本地环境。这样,在运行程序后,可以通过访问localhost:8081查看Flink的WebUI界面。
584

被折叠的 条评论
为什么被折叠?



