flink简单使用

参考

flink
Flink介绍和基本概念 https://www.jianshu.com/p/2ee7134d7373
新一代大数据处理引擎 Apache Flink https://www.ibm.com/developerworks/cn/opensource/os-cn-apache-flink/
Flink学习笔记(1):Word Count https://www.jianshu.com/p/26c9ef86fb19
Flink WordCount实例讲解 https://blog.csdn.net/Evankaka/article/details/70748391

flink简介

看了很多文章,也说不出个所以然来,等以后明白了再写下来吧。
学习这方面主要是遇到需要处理流数据,被建议可以尝试下

安装

有standalone,cluster多种模式,还有master的HA
安装也有很多教程
http://wuchong.me/blog/2016/02/26/flink-docs-setup-cluster/
1. 官网下载release版本;https://flink.apache.org/ (还有maven依赖方式);
2. 修改conf下的配置文件,主要是flink-conf.yaml,slaves,masters;
3. 启动,启动文件在bin目录下;
4. 可以通过jps 或者 ps -ef|grep flink来查看进程;
5. web端 ip:8081;(根据本机ip分析使用内网还是外网ip或localhost)
这里写图片描述

wordcount案例

flink自带的例子中包含两种,一种是通过ip,port数据传输,一种是设置input,output路径

ip port方式

  • 启动本地监听
nc -l 9000
  • 新开一个shell,观察
netstat -anlp | grep 9000
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      176678/nc           
tcp6       0      0 :::9000                 :::*                    LISTEN      176678/nc 
  • 提交程序
bin/flink run examples/streaming/SocketWindowWordCount.jar --hostname 192.168.8.118 --port 9000

hostname 如果不写,会默认是localhost,需要注意是否识别localhost,最好还是写ip,是写内网ip还是外网ip
* 新开shell,观察

netstat -anlp | grep 9000
tcp        0      0 192.168.8.123:9000      192.168.8.118:62266     ESTABLISHED 176678/nc
  • 写数据,看结果
nc -l 9000               
cup cup water water

在slave端看结果

cd flink_path/log
tail -f flink*.out
cup : 2
water : 2

输入输出文件格式

bin/flink run examples/streaming/WordCount.jar --input /flink_path/README.txt --output /flink_path/out

执行结束后会在slave端有结果文件
也可以使用hdfs上的路径

bin/flink run examples/streaming/WordCount.jar --input hdfs://data_path_in --output hdfs://data_path_out 

可以写jar包在web端提交

这里写图片描述
add new添加jar包
这里写图片描述
选中上传的jar包,填写参数,提交,即可直接转到执行界面,显示结果或提示错误
并且会显示输出结果在哪个或哪些节点上

猜你喜欢

转载自blog.csdn.net/d2457638978/article/details/80083665