我正在尝试在网络用户界面中查看我的工作。
我使用createLocalEnvironmentWithWebUI,代码在IDE中运行良好,但无法在http://localhost:8081/#/overview
中看到我的工作 val conf: Configuration = new Configuration()
import org.apache.flink.configuration.ConfigConstants
conf.setBoolean(ConfigConstants.LOCAL_START_WEBSERVER, true)
val env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf)
env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)
val rides = env.addSource(
new TaxiRideSource("nycTaxiRides.gz", 1,100))//60, 600))
val filteredRides = rides
.filter(r => GeoUtils.isInNYC(r.startLon, r.startLat) && GeoUtils.isInNYC(r.endLon, r.endLat))
.map(r => (r.passengerCnt, 1))
.keyBy(_._1)
.window(TumblingTimeWindows.of(Time.seconds(5)))
.sum(1)
.map(r => (r._1.toString+"test", r._2))
filteredRides.print()
env.execute("Taxi Ride Cleansing")
我还需要设置其他东西吗?
通过将 flink-runtime-web 添加到我的项目的依赖项中,我能够从 IntelliJ 启动 Flink webui。我通过将其添加到我的 pom.xml 文件来做到这一点:
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-runtime-web</artifactId>
<version>${flink.version}</version>
</dependency>
您还需要创建一个包含 WebUI 的本地执行环境:
Configuration conf = new Configuration();
env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf);
从 Flink 版本 1.5.0 开始,添加前面提到的依赖项并使用以下代码来启动 StreamEnvironment 对我有用:
Configuration config = new Configuration();
config.setBoolean(ConfigConstants.LOCAL_START_WEBSERVER, true);
StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(config);
处理运行时,Web UI 可在 http://localhost:8081 下使用
是的,如果你想使用WebUI Dashboard,那么你需要创建一个可执行的jar,然后将这个jar提交到Flink Dashboard。我将一步步向您解释
第 1 步: 从 IDE 代码创建 jar
StreamExecutionEnvironment环境= StreamExecutionEnvironment.getExecutionEnvironment();
如果您有多个 jar,则将主类设置为 Main-Class:Manifest.mf文件的变量
然后使用 IDE 中的构建工件创建一个 jar
第 2 步: 启动 flink-local 集群,它将向您显示仪表板。
我假设你还没有下载Flink二进制文件,你可以 轻松下载它这里,如果你有Macintosh,我建议你 使用brew install apache-flink 它将下载最新的稳定版 目前版本为 1.3.2
好的,现在你必须转到安装 flink 的路径并启动 本地集群
第 3 步: 提交作业