参考
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包,填写参数,提交,即可直接转到执行界面,显示结果或提示错误
并且会显示输出结果在哪个或哪些节点上