NiFi的分布式安裝與啟動

1 簡介

NiFi是一個易用蛋褥、可靠、功能強大的數(shù)據(jù)處理與分發(fā)系統(tǒng)鳄虱,是Apache的開源項目。只需在web界面中用拖拽的方式定義數(shù)據(jù)處理節(jié)點凭峡,數(shù)據(jù)處理流程和配置相關(guān)參數(shù)拙已,NiFi即可自動完成復(fù)雜的數(shù)據(jù)處理任務(wù),非常方便摧冀。

這里介紹NiFi 1.8.0的安裝和啟動方法倍踪。

2 安裝

NiFi的安裝使用非常簡單系宫,只需配置好JAVA環(huán)境,將官網(wǎng)上下載的NiFi二進制包解壓建车,然后進入bin目錄扩借,執(zhí)行./nifi.sh start,即可啟動NiFi缤至。

當(dāng)然潮罪,這種方式運行的是單機版的NiFi,如果要進行分布式安裝领斥,還需要進行其他一些配置嫉到。

分布式的NiFi需要使用Zookeeper作為集群的管理工具,NiFi本身內(nèi)置了Zookeeeper月洛,也可以使用獨立安裝的Zookeeper何恶。

2.1 使用內(nèi)置Zookeeper

對每一個節(jié)點完成以下配置(建議在一個節(jié)點配置好,復(fù)制到其他節(jié)點再稍作修改)

① 修改conf/zookeeper.properties

clientPort=2181
initLimit=10
autopurge.purgeInterval=24
syncLimit=5
tickTime=2000
dataDir=./state/zookeeper
autopurge.snapRetainCount=30

#
# Specifies the servers that are part of this zookeeper ensemble. For
# every NiFi instance running an embedded zookeeper, there needs to be
# a server entry below. For instance:
#
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
#

最后三行根據(jù)集群的實際情況修改

② 在state/zookeeper文件夾下新建myid文件嚼黔,寫入節(jié)點編號

mkdir state
mkdir state/zookeeper
echo 1 > state/zookeeper/myid

不同節(jié)點寫入的標號不同细层,要與第一步中的server編號對應(yīng)

③ 修改conf/nifi.properties

#是否啟動內(nèi)置的zk
nifi.state.management.embedded.zookeeper.start=true
#配置zk節(jié)點
nifi.zookeeper.connect.string=master:2181,slave1:2181,slave2:2181
#這里配置為非安全性的nifi
nifi.cluster.protocol.is.secure=false
nifi.cluster.is.node=true
nifi.cluster.node.address=master
nifi.cluster.node.protocol.port=11443
nifi.cluster.node.protocol.threads=10
nifi.cluster.node.event.history.size=25
nifi.cluster.node.connection.timeout=5 sec
nifi.cluster.node.read.timeout=5 sec
nifi.cluster.firewall.file=

#各節(jié)點Site2Site協(xié)議接口配置
nifi.remote.input.host=master
nifi.remote.input.secure=false
nifi.remote.input.socket.port=10443
nifi.remote.input.http.enabled=true
nifi.remote.input.http.transaction.ttl=30 sec

#web ui
nifi.web.http.host=master
nifi.web.http.port=8080

其他節(jié)點需要根據(jù)實際情況修改host為節(jié)點的主機名(slave1,slave2等)

Slave1:

nifi.remote.input.host=slave1
nifi.web.http.host=slave1
nifi.cluster.node.address=slave1

Slave2:

nifi.remote.input.host=slave2
nifi.web.http.host=slave2
nifi.cluster.node.address=slave2

④ 修改conf/state-management.xml

<cluster-provider>
  <id>zk-provider</id>
  <class>org.apache.nifi.controller.state.providers.zookeeper.ZooKeeperStateProvider</class>
  <property name="Connect String">master:2181,slave1:2181,slave2:2181</property>
  <property name="Root Node">/nifi</property>
  <property name="Session Timeout">10 seconds</property>
  <property name="Access Control">Open</property>
</cluster-provider>

主要是修改Connect String唬涧,和第三步中的nifi.zookeeper.connect.string一致疫赎。

2.2 使用獨立的Zookeeper

配置步驟比使用內(nèi)置的Zookeeper方法要簡單,對比來看:

① 無需修改conf/zookeeper.properties爵卒,保持默認配置即可虚缎。
(即無需定義server.1,server.2钓株,server.3等條目)

② 無需在state/zookeeper文件夾下新建myid文件

③ 修改conf/nifi.properties
與使用內(nèi)置的Zookeeper配置基本相同,不同的配置是:

#是否啟動內(nèi)置的zk
nifi.state.management.embedded.zookeeper.start=false

其他配置一致陌僵,按獨立安裝的Zookeeper實際情況填寫轴合。

④ 修改conf/state-management.xml
與使用內(nèi)置的Zookeeper配置相同,按獨立安裝的Zookeeper實際情況填寫碗短。

3 啟動

在每一個節(jié)點中執(zhí)行命令:

nifi/bin/nifi.sh start

啟動需要一定的時間受葛,jps查看NiFi進程是否成功啟動:

2162 RunNiFi
2178 NiFi
1413 QuorumPeerMain
2330 Jps

從任意一個節(jié)點訪問http://localhost:8080/nifi即可訪問NiFi主界面。(端口以配置文件中的為準)

成功啟動.png
查看節(jié)點.png

4 關(guān)閉

在每一個節(jié)點中執(zhí)行命令:

nifi/bin/nifi.sh stop

可能遇到的問題

  1. 端口沖突
    若logs/nifi-bootstrap.log中出現(xiàn)“Address already in use”偎谁,則說明端口沖突总滩,修改conf/nifi.properties中的nifi.web.http.port。NiFi的Web端口默認是8080巡雨,很容易與其他應(yīng)用闰渔,建議修改。

  2. 集群啟動后铐望,無法打開web頁面
    集群啟動后冈涧,有一個選取主節(jié)點的過程茂附,在此期間可能無法訪問web頁面或者提示與集群斷開連接,等待一會兒后(5-8分鐘)即可恢復(fù)正常督弓。

參考資料

NiFi安裝(單機+集群)
NIFI1.7.1安裝
官方文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末营曼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子愚隧,更是在濱河造成了極大的恐慌蒂阱,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狂塘,死亡現(xiàn)場離奇詭異录煤,居然都是意外死亡,警方通過查閱死者的電腦和手機睹耐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門辐赞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人硝训,你說我怎么就攤上這事响委。” “怎么了窖梁?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵赘风,是天一觀的道長。 經(jīng)常有香客問我纵刘,道長邀窃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任假哎,我火速辦了婚禮瞬捕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘舵抹。我一直安慰自己肪虎,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布惧蛹。 她就那樣靜靜地躺著扇救,像睡著了一般。 火紅的嫁衣襯著肌膚如雪香嗓。 梳的紋絲不亂的頭發(fā)上迅腔,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天,我揣著相機與錄音靠娱,去河邊找鬼沧烈。 笑死,一個胖子當(dāng)著我的面吹牛饱岸,可吹牛的內(nèi)容都是我干的掺出。 我是一名探鬼主播徽千,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼汤锨!你這毒婦竟也來了双抽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤闲礼,失蹤者是張志新(化名)和其女友劉穎牍汹,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柬泽,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡慎菲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了锨并。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片露该。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖第煮,靈堂內(nèi)的尸體忽然破棺而出解幼,到底是詐尸還是另有隱情,我是刑警寧澤包警,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布撵摆,位于F島的核電站,受9級特大地震影響害晦,放射性物質(zhì)發(fā)生泄漏特铝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一壹瘟、第九天 我趴在偏房一處隱蔽的房頂上張望鲫剿。 院中可真熱鬧,春花似錦稻轨、人聲如沸牵素。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至请琳,卻和暖如春粱挡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背俄精。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工询筏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人竖慧。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓嫌套,卻偏偏與公主長得像逆屡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子踱讨,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容