一、Linux安裝Nifi
首先,Linux中得安裝jdk,因爲NiFi就是Java寫的。
1.官網下載NiFi壓縮包( 例如:nifi-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,只需要修改目標數據庫連接池即可