Linux下NiFi 1.9.2部署(單節點)

akiya發表於2019-11-11

NiFi介紹

Apache NiFi簡介

Apache NiFi是由美國過國家安全域性(NSA)貢獻給Apache基金會的開源專案,其設計目標是自動化系統間的資料流。

參考文件

包檔案 版本 下載地址
nifi-1.9.2-bin.tar.gz 1.9.2 Apache NiFi
jdk-8u231-linux-x64.tar.gz 1.8.231 Oracle JDK

埠說明

NiFi

NiFi預設埠及conf/nifi.properties檔案中相應屬性

功能 屬性 預設值
HTTP埠 nifi.web.http.port 8080
HTTPS埠* nifi.web.https.port 9443
遠端輸入套接字埠* nifi.remote.input.socket.port 10443
叢集節點協議埠* nifi.cluster.node.protocol.port 11443
叢集節點負載均衡埠 nifi.cluster.node.load.balance.port 6342
Web HTTP轉發埠 nifi.web.http.port.forwarding

標有星號(*)的埠的屬性值在conf/nifi.properties中預設為空白

嵌入式Zookeeper

功能 屬性 預設值
Zookeeper客戶端埠 clientPort 2181
Zookeeper伺服器仲裁和Leader選舉埠 server.1

NiFi自帶嵌入式Zookeeper配置檔案路徑為conf/zookeeper.properties

配置項為:server.N=nifi-nodeN-hostname:2888:3888;2181

部署NiFi

下載NiFi包

建立存放NiFi相關部署包檔案路徑

  • 部署包存放
# mkdir -p /tmp/nifi_install
複製程式碼
  • 部署路徑
# mkdir -p /opt/nifi
複製程式碼

下載(上傳)JDK與NiFi至Linux伺服器/tmp/nifi_install

# ls -lh /tmp/nifi_install/
total 1.5G
-rwxr-xr-x. 1 root root 186M Nov 11 22:14 jdk-8u231-linux-x64.tar.gz
-rwxr-xr-x. 1 root root 1.3G Nov 11 22:16 nifi-1.9.2-bin.tar.gz
複製程式碼

解壓並設定JAVA_HOME

解壓NiFi與JDK

# tar -zxvf /tmp/nifi_install/*.tar.gz -C /opt/nifi/
複製程式碼

bin/nifi-env.sh中設定JAVA_HOME

# sed -i "21iexport JAVA_HOME=/opt/nifi/jdk1.8.0_231/" /opt/nifi/nifi-1.9.2/bin/nifi-env.sh
複製程式碼

修改HTTP埠

編輯配置檔案

# vim /data/nifi/nifi-1.9.2/conf/nifi.properties
複製程式碼

找下如下內容

...
# web properties #
nifi.web.war.directory=./lib
nifi.web.http.host=
# 修改http埠,預設埠為8080
nifi.web.http.port=18080
nifi.web.http.network.interface.default=
nifi.web.https.host=
nifi.web.https.port=
nifi.web.https.network.interface.default=
nifi.web.jetty.working.directory=./work/jetty
nifi.web.jetty.threads=200
nifi.web.max.header.size=16 KB
nifi.web.proxy.context.path=
nifi.web.proxy.host=
...
複製程式碼

配置執行記憶體

# vim /data/nifi/nifi-1.9.2/conf/bootstrap.conf
複製程式碼

修改內容如下

...
# JVM memory settings
# 初始堆大小
java.arg.2=-Xms2048m
# 最大堆大小
java.arg.3=-Xmx4096m
...
複製程式碼

可根據伺服器效能合理設定nifi記憶體

新增到服務並啟動

update-rc.d

# ln -s /opt/nifi/nifi-1.9.2/bin/nifi.sh /etc/init.d/nifi
# service nifi start
複製程式碼

systemd

建立服務指令碼

# cat > /etc/systemd/system/nifi.service << EOF
> [Unit]
> Description=nifi service
> After=network.target
>
> [Service]
> Type=forking
> LimitNOFILE=65536
> ExecStart=/opt/nifi/nifi-1.9.2/bin/nifi.sh start
> ExecStop=/opt/nifi/nifi-1.9.2/bin/nifi.sh stop
> User=root
> Restart=on-abort
>
> [Install]
> WantedBy=multi-user.target
> EOF
複製程式碼

啟動服務

# systemctl daemon-reload
# systemctl start nifi
複製程式碼

訪問

至此單節點NiFi部署完成,可以在瀏覽器中訪問http://ip:18080/nifi/即進入Web介面

Linux下NiFi 1.9.2部署(單節點)

相關文章