报错Caused by: java.net.ConnectException: Connection refused: connect
背景
学习Flink时,java程序启动报错:Caused by: java.net.ConnectException: Connection refused: connect
报错截图:
分析&解决:
报错为连接异常,检查错位为端口未启动,没有数据,应该先启动端口,
启动后再运行java程序,问题解决。
附上java程序:
public class FlinkWordCountJobWithAnonymous {
public static void main(String[] args) throws Exception {
//1 获取flink运行环境
StreamExecutionEnvironment environment = StreamExecutionEnvironment.getExecutionEnvironment();
//2.加载数据源为dataStream ,绑定hadoop10的9999端口,将这个网络端口发送的数据加载为dataStream
DataStreamSource<String> dataStream = environment.socketTextStream("hadoop10", 9999);
//3.执行多个转换算子 ,SingleOutputStreamOperator是DataStreamSource子类
SingleOutputStreamOperator<Tuple2<String, Integer>> result = dataStream.flatMap(new FlatMapFunction<String, String>() {
@Override
//value:表示一个待处理的数据,在这里就是一行字符串
//out: 用于输出结果的工具对象
public void flatMap(String value, Collector<String> out) throws Exception {
//拆分value,通过out输出结果
String[] words = value.split("//s "); //去除一个或多个空格
for (String word : words) {
out.collect(word);
}
}
}) //执行一行字符串拆分为多个单词
.map(new MapFunction<String, Tuple2<String, Integer>>() {
@Override
public Tuple2<String, Integer> map(String value) throws Exception {
return Tuple2.of(value, 1);
}
}) //将多个单词转换为(单词,1) 这种tuple2对象
.keyBy(0) //根据单词为key分组,0表示tuple2中的第一个属性,也就是单词
.sum(1);//统计每组单词的个数, 1表示tuple2中第2个属性,也就是次数
//4.通过sink算子输出结果
result.print();
//5.发布执行
environment.execute("flinkWordCount"); //为任务起别名
}
}
打印结果: (前面数字为调用第几个cpu)
5> (world,1)
3> (hello,1)
2> (lgy,1)
3> (hello,2)
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhececjg
系列文章
更多
同类精品
更多
-
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24 -
微信小程序没声音怎么办
PHP中文网 06-15 -
excel图片置于文字下方的方法
PHP中文网 06-27 -
微信提示登录环境异常是什么意思原因
PHP中文网 04-09 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
微信人名旁边有个图标有什么用
PHP中文网 03-11 -
使用云服务器搭建个人游戏加速器教程
AuroraJay 07-06 -
Excel筛选和排序是灰色的怎么办
PHP中文网 06-22 -
抖音国际版要用什么加速器能流畅刷Tiktok的加速器
TK小达人 08-02 -
键盘上的负数是哪个键
PHP中文网 03-17