大数据Flink进阶(十二):Flink本地模式开启WebUI|环球速递
【资料图】
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|环球速递
- 归脾丸与人参健脾丸_人参归脾丸和人参健脾丸的区别|观焦点
- 世界快资讯丨《大鱼》中国动漫的封神之作,其评价却有好有坏?还将大鱼与宫崎
- 助力打造国际法律服务中心 上海市法学会涉外法治研究会成立-当前快报
- 今日视点:八门神器iphone版下载(八门神器iphone)
- 报道:送领导小礼物
- 快报:我国首次在5亿多年前页岩地层中钻获高产气藏
- 全球快看点丨湿地面积持续增加,生态修复效果明显 若尔盖 川西明珠,候鸟家园(美丽中国·大美湿地⑤)
- 环球快报:天津市首届“牡丹文化节”开幕打造津城文化片区
- 环球视点!spa服装最新款裙子_spa服装
精彩推荐
- 大数据Flink进阶(十二):Flink本地模式开启WebUI|环球速递
- 归脾丸与人参健脾丸_人参归脾丸和人参健脾丸的区别|观焦点
- 世界快资讯丨《大鱼》中国动漫的封神之作,其评价却有好有坏?还将大鱼与宫崎
- 助力打造国际法律服务中心 上海市法学会涉外法治研究会成立-当前快报
- 今日视点:八门神器iphone版下载(八门神器iphone)
- 报道:送领导小礼物
- 快报:我国首次在5亿多年前页岩地层中钻获高产气藏
- 全球快看点丨湿地面积持续增加,生态修复效果明显 若尔盖 川西明珠,候鸟家园(美丽中国·大美湿地⑤)
- 环球快报:天津市首届“牡丹文化节”开幕打造津城文化片区
- 环球视点!spa服装最新款裙子_spa服装
- 蒜薹炒鸡胗的做法
- 4月09日00时浙江温州疫情最新消息新增确诊名单多少人
- 发现这些问题可投诉举报!内蒙古违规校外培训“随手拍”上线啦!
- 热身赛-阎相闯破门 大连人4-2大连智行
- 2021年3月:全国各省市石脑油产量排名,辽宁省当月产84.9万吨登顶
- 迎着春风奔跑!潍坊市坊子区200余位选手同享运动欢乐-环球快讯
- 洛克王国笔童技能表图鉴(笔童怎么样/厉害吗)
- 【快播报】金融领域GPT革命开启!龙头股年内翻倍,这些上市公司布局相关业务
- 当前快看:如何焊接钢缆_给女生送什么生日礼物好手工品
- 意甲-吉鲁绝杀被吹弗洛伦齐中柱 AC米兰0-0恩波利_环球头条
- 每日看点!自定义表情的软件_自定义表情
- 集成Unity3D到iOS应用程序中
- 接管公司合同范本(优选16篇)_全球视讯
- 海外网评:中欧经贸合作春意盎然-天天通讯
- 永茂泰: 永茂泰2022年度独立董事述职报告(张志勇) 焦点滚动
- 市场日报 | 医药、光热发电大爆发;地产股走高,通信板块崛起,千亿巨头盘中涨停!
- 百度健康与广州东方略达成战略合作
- 超图软件:与阿里云的技术和业务合作紧密|环球快看点
- 线上超市大战:抖音点火 猫超、美团、京东接招
- 快手理想家与七彩云南·古滇名城达成合作 探索文旅+直播卖房新模式