在Day3 Pipeline 如何做版本控制 - NiFi Registry就有提到 NiFi Registry 的概念,而今天我們來進一步地講一下如何在 NiFi Registry 操作,來讓 NiFi 的 Data Pipeline 做到版本控制。
在開始要使用 NiFi Registry 之前,首先要先來設定好 NiFi Registry 的位置,這樣 NiFi 才知道該將版控放到哪一個地方去,首先一樣先來看一下主畫面,在 Global Menu
點選 Controller Setting
:
接著點選 REGISTRY CLIENT
:
然而因為我們是採用 Docker 來建置環境,並且將這 NiFi 和 NiFi Registry 的服務設定在同一個網路下,所以採用 172.17.0.1
來指定 NiFi Registry 的位置,參考如下:
設定好按下 UPDATE
就沒有問題了!
如果各位讀者們還記得我在Day3 Pipeline 如何做版本控制 - NiFi Registry所畫的架構圖,在 NiFi Registry 操作時,如果要開始做版本控制,首先必須要先 Create Bucket,再讓 NiFi 將版控存到對應的 Bucket 底下
所以我們先來建立 Bucket,讀者們若啟動玩服務之後可以點選 http://localhost:18080/nifi-registry/#/administration/workflow 就可以看到如下畫面:
然而當我們點選紅框的 New Bucket
時,會跳出以下畫面,接著輸入 Bucket Name,這邊我輸入 titanic
為例:
接著剛剛原本的畫面,就可以看到我們剛剛所建立的新 Bucket:
如此一來,在 NiFi Registry 的建立 Bucket 步驟就完成了。
一旦我們在 NiFi Registry 的建立完 Bucket,接著帶大家再回來到 NiFi 教如何開始做版控,還記得最小單位是 Processor Group(PG) 這件事嗎?所以我們仍以 PG 作為單位來做範例。
一樣我們在要做版控的 PG 點擊右鍵,可以看到 Version -> Start Version Control
:
按下 Start Version Control
之後,我們會看到如下畫面:
此時,NiFi 已經幫我們剛剛在 NiFi Registry 建立的 Bucket synch 過來了,然而底下有一些要再額外設定的config,這裡說明一下:
所以以我的例子,這邊填完之後長得下圖呈現:
再來當我們按下 Save
,會看到 PG 會多一個 綠色打勾
的符號,就代表 Commit 成功且開始進入到版控模式:
我們再回過頭來到 NiFi Registry,就可以看到我們剛剛 commit 的結果:
透過上面的操作,我們就可以知道對 Data Pipeline 做版本控制,簡單步驟整理如下:
接下來再繼續介紹一個場景,如果我們後續又在對這個 PG 做了一些修正,像是參數、Processor 或是 Controller Service 的調整等,NiFi 會自動偵測到目前『已不是』最新的版本了,此時會發現到 PG 的符號變成了 黑色米字號
:
此時就代表我們若修改完成時,要再提交一個版本上去,這時候再點擊右鍵時會看到 Version
底下的狀態不一樣了:
多出了 3 個功能,介紹說明如下:
Commit local changes
這就是 commit 你剛剛修正完的東西到 NiFi Registry,接著你會發現這次就只要輸入 comment 即可:
Show local changes
會呈現出這次的修正包含哪一些,大概會像如下的畫面:
Revert local changes
直接取消這次的修正,回到最新版的狀況
再來呢,我們還可以讓 PG 回到更早之前的版本,一樣正常的情況下我們點選 Version 時會看到一個 Change version
:
接著點選我們想要退到的版本,按下 Change
,PG 就會回到當時版本的狀態了:
以上,就是對於 NiFi 如何透過 NiFi Registrt 來做版本控制的操作,是不是沒有想像中的那麼難呢?希望透過今天的學習,讀者們可以對於這個服務有更熟悉地認識,簡單來說掌握好流程,然後都是以 PG 為單位做版控,那這樣的操作就會很容易上手了。
最後,感謝螢幕前讀者們的瀏覽與閱讀,明天要來講一下 NiFi 如何做到 Monitoring 吧,再讓我們繼續充實自己!