一、Linux安装Nifi
首先,Linux中得安装jdk,因为NiFi就是Java写的。
1.官网下载NiFi压缩包( 例如:nifi-1.9.2-bin.tar )
2.通过Xftp把压缩包放到Linux上 ( 我的默认位置:/usr/local/nifi/ )
3.进入到压缩包位置,
cd /usr/local/nifi
4.解压
tar -zxvf nifi-1.9.2-bin.tar
5.打开解压后nifi-1.9.2目录下的 /conf/ nifi.properties文件,并修改ip及端口
vim nifi.properties
nifi.web.http.host=192.168.XXX.XXX #设置成本机的 ip
nifi.web.http.port=端口号 #设置不冲突的端口号
6.打开解压后nifi-1.9.2目录下的 /conf/ bootstrap.conf文件,并修改/conf/ bootstrap.conf
vim bootstrap.conf
java.arg.2=-Xms2048m
java.arg.3=-Xmx2048m
7.关闭防火墙
添加防火墙:
firewall-cmd --zone=public --add-port=端口号/tcp --permanent
(--permanent永久生效,没有此参数重启后失效)
重新载入:
firewall-cmd --reload
8.进入bin目录,启动nifi
查看nifi状态
sh nifi.sh status
启动nifi
sh nifi.sh start
9.使用浏览器启动192.168.XXX.XXX:8082/nifi
启动后的页面如下:(启动nifi需要时间,如果打不开,可能是还没启动起来,耐性等待一会)
二、使用Nifi
例子1:在Linux下移动文件
把usr/local/test下的文件,移动到/usr/local/test/test2下
创建一个GetFile
双击修改get路径
创建一个PutFile
打对勾后,PutFile自身终结流,流到PutFile这里会自动停止
修改put路径
两个相互连接,然后start
这时候Linux中/usr/local/test下的文件移动到了/usr/local/test/test2里了
例子2:Mysql—Mysql
把mysql数据库demo的test表中数据,复制到mysql数据库demo2的test2表内
创建ExecuteSQL
创建ConvertAvroToJSON
创建ConvertJSONToSQL
创建PutSQL
最终框架
注意:配置数据库连接池,修改连接池的时候,需要关闭state; 使用连接池的时候,需要打开state
例子3:Mysql—Postgresql
把mysql数据库demo的test表中数据,复制到postgresql数据库demo3的test3表内
类似于Mysql—Mysql,只需要修改目标数据库连接池即可