一、准备工作
1、官网下载nifi
2、上传到linux随便哪里把,因为nifi是用java写的,所以首先要保证你的linux装了jdk
其次保证系统在装了zookeeper,因为nifi是一个分布式框架,需要zookeeper做协作支持,后面会具体讲讲zookeeper的作用。
3、解压缩 ,unzip nifi-1.3.0-bin.tar.gz
4、进入nifi.properties 配置web访问的ip和端口
5、sh bin/nifi.sh status 查看nifi状态
6、启动nifi sh bin/nifi.sh start
很简单把 这样就启动起来了。
7、下面使用我们在nifi.properties 中配置的主机ip和端口号运行web UI界面看看把。
二、开始玩玩把!
据说玩转nifi的三部曲 就是 拖拽--配置--连接
1、拖拽 , 从哪里拖拽呢。
2、拽下来之后就选择你需要的Processor吧。 啥是Processor呢, 如其名 ,就是一个处理器。
选择你需要的Processor ,左边也给你了一些大选项, 相当于模糊查询把,就是select ···from processor·· where processorName like ‘%XXX%’ 好吧我意淫了。。。。
也可以直接在右上角的输入框输入你需要的处理器,容器会实时过滤。
3、随便选择一个处理器比如Fetchfile,选择完成之后,则处理器上,右键,会有很多选项可供选择。
这里我们开始三部曲的第二部,配置
点开之后 ,有四个选项, 这里我们先选择properties,这个选项也是我们做的最多的地方,其他几个几乎不关心, 当然,他们的作用 我们后面细细道来
File to fetch属性,我随机选择一个文件/data/zhangshk/nifi/1.txt 1.txt 内容为 hello nifi
fetch了一个文件之后,我们把他换一个位置,比如存到另一个地方,这样我们程序就跑通了。 其实我们做数据对接也是这要玩的。
比如把http接口的数据接过来,存入mysql ,或者从http接口接过来的数据存入hbase等等。
再来一个处理器getFile , 注意有几个属性, Directory为存放文件的目录,Confilict Resolution Strategy 建议选择ignore ,因为如果文件Directory已经存在了,也不会报错,默认他就是如果已经存在就报错, 这个根据业务需要更改,甭管了,按我图上写。。。
3、好了 现在到了三步曲,第三步 连接 ,这个最简单 , 连连线。
流程需要一个头,那我们再添加一个处理器,GenerateFlowFile ,这个处理器,主要是用来设置全局的属性,还有控制集群的调度时间,频次。这些以后再说,现在先让他跑起来。这里我们使用timer driven 间隔100000000sec 跑一次 ,千万不要用他默认的0sec 那样相当于间隔0秒跑一次 ,也就是死循环 哈哈。 真贱。。
连线
面板上随便一个地方 右键 start
图中 可以看success 成功了, 那么我们去看看文件系统
test文件夹出现了,进去看看:
生辰了一个文件,文件名是他按照一定的算法生成的不管, 进去看看:
ok 成功了, 是不是还听好玩的。 。 。
大家可能会有很多疑惑, 多玩玩 ,多试试 就熟了, 也可以留言给我。
简单的玩玩,感觉挺好的。
之后还会写一些在公司里实际用到的数据对接的企业案例 。当然 在这之前, 可能会讲讲一些比较常用的处理器, 和他的配置。
大家有什么问题 可以留言,大家一起学习进步。。