一、准備工作
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 成功了, 是不是還聽好玩的。 。 。
大家可能會有很多疑惑, 多玩玩 ,多試試 就熟了, 也可以留言給我。
簡單的玩玩,感覺挺好的。
之后還會寫一些在公司里實際用到的數據對接的企業案例 。當然 在這之前, 可能會講講一些比較常用的處理器, 和他的配置。
大家有什么問題 可以留言,大家一起學習進步。。