大数据Flink进阶(十二):Flink本地模式开启WebUI-即时
在工作中我们一般使用IntelliJIDEA开发工具进行代码开发,为了能方便快速的调试Flink和了解Flink程序的运行情况,我们希望本地开发工具中运行Fl
腾讯云 2023-04-10 08:39:17
(资料图片仅供参考)
在工作中我们一般使用IntelliJ IDEA开发工具进行代码开发,为了能方便快速的调试Flink和了解Flink程序的运行情况,我们希望本地开发工具中运行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}
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)
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情况。
在工作中我们一般使用IntelliJIDEA开发工具进行代码开发,为了能方便快速的调试Flink和了解Flink程序的运行情况,我们希望本地开发工具中运行Fl
不用因为您上厕所偶尔自己没带纸而去借了别人的纸去上厕所,这也是很正常的事儿,当然人家既然有纸借给你也是举手之劳的事儿,怕你不够用多给
1、《锅匠,裁缝,士兵,间谍》是由法国第4电视台出品的惊悚片,由瑞典导演托马斯·阿尔弗莱德森执导,加里·奥德曼、科林·费
☝☝点一下关注我们☝☝来源作者:金华市金东区住房和城乡建设局、浙中在线版权归原作者所有,如有侵权请及时联系金东区住房和城乡建设局关于
做无骨鸡爪需要什么配料最佳答案准备食材:鸡爪适量、小米椒适量、香菜适量、柠檬1个、大蒜7瓣、醋5勺、生抽5勺、香油1勺。将鸡爪沸水煮10分钟
1、格力现在还没有生产吸油烟机。2、评定油烟机的好坏应有以下四个标准:能否把厨房油烟完全抽干净。3、2、能否把油和烟分离
央视网消息:目前,第三届中国国际消费品博览会各项工作已经准备就绪。在海口美兰机场,消博会主题的景观盆栽格外显眼,已经做好了迎接海内外
《我想和你唱》收视率,王炸开头中间低谷,王源杨千嬅能否救场?
绽放生命的火焰
据《太阳报》报道,曼联考虑在今夏出售麦克托米奈。据悉,曼联对这位中场球员的要价至少为5000万英镑,纽卡对这位曼联中场非常感兴趣。但曼联
1、脂肪肝是否具有传染性,要看脂肪肝患者是否同时并发传染性病毒性肝炎。2、如果是单纯性脂肪肝,不会传染。3、如果您患有乙
昨晚(4月8日),第三届中国国际消费品博览会布展工作基本完成,本届消博会共有来自65个国家和地区的4000多件消费精品集中亮相
4月8日上午,为期两天的2023年“高新杯”第五届咸阳渭河国际风筝节在渭水之滨——咸阳五环广场盛大开幕,来自北京、天津、上海、山东、河北等2
东南网4月8日讯(福建日报·新福建客户端记者储白珊)省教育考试院刚刚发布消息,福建省2023年高职院校分类考试招生考生成绩已公布。请考生通
4月8日,“名酒复兴·重塑经典”洋河名酒价值论坛暨新品发布会在成都举办。名酒复兴,大势所趋;名酒复兴,市场所向。在白酒行业转型升级新阶