大数据Flink进阶(十二):Flink本地模式开启WebUI-即时
2023-04-10 08:39:17 来源:腾讯云
(资料图片仅供参考)
Flink本地模式开启WebUI
在工作中我们一般使用IntelliJ IDEA开发工具进行代码开发,为了能方便快速的调试Flink和了解Flink程序的运行情况,我们希望本地开发工具中运行Flink时能查看到WebUI,这就可以在编写Flink程序时开启本地WebUI。
一、在Flink 项目中添加本地模式 WebUI的依赖
在Flink1.15版本之前根据使用Scala版本在Java Flink项目或Scala Flink项目中添加对应Scala版本的依赖。
org.apache.flink flink-runtime-web_${scala.binary.version} ${flink.version}
在Flink1.15版本之后,无论是Java Flink项目还是Scala Flink项目,添加如下依赖,不需额外依赖Scala版本。
org.apache.flink flink-runtime-web ${flink.version}
二、在代码中启用本地WebUI
Flink Java 代码启动本地WebUI:
Configuration conf = new Configuration();//设置WebUI绑定的本地端口conf.setString(RestOptions.BIND_PORT,"8081");//使用配置StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf);
Flink Scala 代码启动本地WebUI:
val configuration = new Configuration()//设置WebUI绑定的本地端口configuration.set(RestOptions.BIND_PORT,"8081")//使用配置val env: StreamExecutionEnvironment = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(configuration)
三、编写完整代码启动并访问WebUI
Java 代码示例:
//1.使用本地模式Configuration conf = new Configuration();//设置WebUI绑定的本地端口conf.setString(RestOptions.BIND_PORT,"8081");//使用配置StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf);//2.读取Socket数据DataStreamSource ds = env.socketTextStream("node3", 9999);//3.准备K,V格式数据SingleOutputStreamOperator> tupleDS = ds.flatMap((String line, Collector> out) -> { String[] words = line.split(","); for (String word : words) { out.collect(Tuple2.of(word, 1)); }}).returns(Types.TUPLE(Types.STRING, Types.INT));//4.聚合打印结果tupleDS.keyBy(tp -> tp.f0).sum(1).print();//5.execute触发执行env.execute();
代码运行:
Scala代码示例:
//1.创建本地WebUI环境val configuration = new Configuration()//设置绑定的本地端口configuration.set(RestOptions.BIND_PORT,"80")//第一种设置方式val env: StreamExecutionEnvironment = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(configuration)//2.Scala 流处理导入隐式转换,使用Scala API 时需要隐式转换来推断函数操作后的类型import org.apache.flink.streaming.api.scala._//3.读取Socket数据val linesDS: DataStream[String] = env.socketTextStream("node3", 9999)//4.进行WordCount统计linesDS.flatMap(line=>{line.split(",")}) .map((_,1)) .keyBy(_._1) .sum(1) .print()//5.最后使用execute 方法触发执行env.execute()
以上代码启动任意一个都可以通过访问:http://localhost来查看WebUI。
注意:启动代码之前在node3首选启动Socket服务,然后再启动代码。在导入flink-runtime-web依赖之后最好重启开发工具,重新加载对应的依赖包,否则可能执行代码之后访问本地WebUI时出现"{"errors":["Not found: /"]}"错误,访问不到WebUI情况。
关键词:
相关新闻
- 大数据Flink进阶(十二):Flink本地模式开启WebUI-即时
- 上完厕所没用完的纸要还吗?
- 锅匠裁缝士兵间谍_环球要闻
- 金华城中村改造,这样补偿!细则有调整!!有调整!!
- 做无骨鸡爪需要什么配料(无骨鸡爪需要什么配料) 全球资讯
- 全球最资讯丨格力抽油烟机使用说明_格力抽油烟机官网
- 消博会实现百分之百绿色电力 5G及千兆WiFi网络全域覆盖-全球最资讯
- 【世界快播报】《我想和你唱》收视率,王炸开头中间低谷,王源杨千嬅能否救场?
- 绽放生命的火焰
- 世界球精选!太阳报:曼联考虑出售麦克托米奈,要价不会少于5000万英镑
- 脂肪肝会传染吗这个病严重吗_脂肪肝会传染吗
- 第三届消博会布展工作基本完成 将有超4000件精品集中亮相
- 世界讯息:“筝”奇斗艳不负春光 咸阳渭河国际风筝节开幕
- 速看!福建高职院校分类考试切线成绩公布 世界时讯
- 洋河大曲(经典版)发布,张联东:名酒发展将迎来三大机遇-世界看点
- 《长月烬明》白鹿饰演第一美女被吐槽,虎背熊腰颜值被碾压
- BeatRolling什么时候出 公测上线时间预告 环球报资讯
- 电影蓝皮书《全球电影产业发展报告(2022)》在青岛西海岸新区发布|精选
- 行色匆匆造句_行色|每日速递
- 焦点快播:这个项目签约闵行,打造中国工业设计软件头部品牌
- 可降解塑料龙头股有哪些?三只可降解塑料龙头股名单|速看料
- 快消息!7点出发 | 3人死亡!安徽合肥一汽配城门面房发生火灾
- 【天天时快讯】怎么做红枣年糕(红枣年糕吃法)
- 【世界时快讯】斯坦利:外援来的晚还需融入 国安首要问题是解决进球