天天速读:大数据Flink进阶(十二):Flink本地模式开启WebUI

来源:腾讯云

2023-04-10 07:26:53


(相关资料图)

​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

在工作中我们一般使用IntelliJIDEA开发工具进行代码开发,为了能方便快速的调试Flink和了解Flink程序的运行情况,我们希望本地开发工具中运行Fl[详细]
2023-04-10

全球速讯:如何巧妙的给老师送礼

送礼是门学问,首先要了解清楚你老师的爱好,再根据你的情况,老师的个人爱好、爱好,选择礼品。如果她是个比较时尚的人,那就[详细]
2023-04-10

天天通讯!积极把握发展契机 力做抗体药源头创新——专访迈威生物联合创始人、CEO刘大涛

原标题:积极把握发展契机力做抗体药源头创新——专访迈威生物联合创始人、CEO刘大涛公司供图近年来,受益于政策支持、资本[详细]
2023-04-10

环球视讯!科林退:向深交所提交终止上市的复核申请

科林退称公司于2023年4月7日向深交所提交了终止上市的复核申请。根据相关规定,交易所将在收到公司提交的复核申请后五个交易日内作出是否受理[详细]
2023-04-09

最资讯丨鼻渊通窍颗粒说明书_鼻渊通窍颗粒的作用

1、鼻渊通窍颗粒是耳鼻喉科广泛使用的中药制剂。2、其临床副作用很小,患者应用的耐受性更好,临床治疗效果也更好。3、其主要[详细]
2023-04-09

【环球速看料】金雷股份:预计第一季度归母净利润同比增100%-130%,公司风电产品发货量显著增加

金雷股份4月9日公告,预计2023年第一季度归母净利润9212 73万元-1 06亿元,同比增长100%-130%。受益[详细]
2023-04-09

环球实时:东方材料:拟向特定对象发行股票募资不超20亿元 全部投向“收购TD TECH 51%股权”项目

东方材料公告,拟向特定对象发行股票募集资金总额不超过20亿元,拟全部投向“收购TDTECH51%股权”项目。拟通过收购TDTECH51%股权并取得控制权,在原有[详细]
2023-04-09

焦点精选!玫瑰带刺经典句子_有关玫瑰带刺的经典句子

1、女生温柔,所以男生注定很惨;对女生来说是带刺的玫瑰,对男生来说就很棘手。2、当我把鼻子靠近花时,我闻到了一股馥郁的香[详细]
2023-04-09

全球速看:复古设计/贯穿大屏/五座布局,全新红旗L5将于上海车展亮相

考虑到小编之前仅报道过新任领袖座驾N701,借此顺带复盘一下全新L5的各处设计。从外观造型来看,全新L5依旧延续了现款的复古设计,甚至可以说[详细]
2023-04-09

天天热点!毕马威和高盛等因硅谷银行关闭被起诉

据彭博社当地时间7日报道,负责为硅谷银行提供审计服务的毕马威公司,以及高盛、摩根士丹利、美国银行等硅谷银行股票或债券承销商,已因发表误[详细]
2023-04-09
版权所有: 东方制冷网 All Rights Reserved
沪ICP备2020036824号-8
联系邮箱:562 66 29@qq.com