好記憶不如爛筆頭,能記下點東西,就記下點,有時間拿出來看看,也會發覺不一樣的感受.
-
準備機器:
192.168.10.215; 192.168.10.216; 192.168.10.217;
2.配置內部zookeeper的屬性:
在三臺機器的相同目錄(/usr/local/software/nifi/)下,解壓nifi-1.9.2.tar.gz查看並確認每臺機器下的conf/zookeeper.properties,保證:zookeeper的配置如下:
server.1=192.168.10.215:2888:3888
server.2=192.168.10.216:2888:3888
server.3=192.168.10.217:2888:3888
並且註釋掉:server.1 即:#server.1 。整個的zookeeper.properties如下圖:
3.設置集羣的通信連接串
在解壓的nifi目錄下,找到conf目錄,修改state-management.xml文件中stateManagement 根節點下的cluster-provider節點內容,將id爲zk-provider的節點的property的設置中name=”Connect String”修改爲zk的連接屬性:如下設置:
192.168.10.215:2181,192.168.10.216:2181,192.168.10.217:2181,具體修改如圖所示:
4.修改nifi.properties的配置文件屬性
在解壓的nifi目錄下,找到conf目錄,修改nifi.properties文件的配置信息,此配置信息比較多,具體分爲如下五塊:
A:zookeeper設置修改,修改塊爲” State Management”,即啓用內置zookeeper設置:
nifi.state.management.embedded.zookeeper.start=true,修改如圖所示:
默認是flase,即爲不啓用內部的zookeeper設置。注意:215,216,217,三臺機器都要改成true,標識啓用內置的zookeeper管理。
B.S to S 設置修改,修改塊爲:”Site to Site” ,主要設置遠程調用的ip和端口:具體如下:nifi.remote.input.host=192.168.10.217; nifi.remote.input.socket.port=9998
注意:215,216,217三臺機器都要修改,ip寫成對應的ip,端口可以爲相同.
C.Web UI設置,修改塊爲” web properties”, 主要設置訪問的ip和端口:具體爲:
nifi.web.http.host=192.168.10.217 ; nifi.web.http.port=8000 如圖:
注意:215,216,217三臺機器都要修改,ip寫成對應的ip,端口可以爲相同.
D.集羣節點設置,修改塊爲” cluster node properties”, 主要設置集羣的是否啓用,ip
端口,最大等待時間和候選配置:具體修改爲: nifi.cluster.is.node=true;nifi.cluster.node.address=192.168.10.217
nifi.cluster.node.protocol.port=9999;nifi.cluster.flow.election.max.wait.time=20 sec;nifi.cluster.flow.election.max.candidates=1
注意:215,216,217三臺機器都要修改,ip寫成對應的ip,端口可以爲相同,其他設置也可以一致.
E.zookeeper鏈接設置,修改塊爲” zookeeper properties”, 主要設置zookeeper的連接
串信息:配置爲: 192.168.10.215:2181,192.168.10.216:2181,192.168.10.217:2181
注意:215,216,217三臺機器都要修改,而且此項配置是一致的。
5.創建zookeeper的myid文件
創建zookeeper的myid文件信息關聯配置,如下命令操作均在nifi的安裝目錄進行:
#第一個節點:192.168.10.215
cd $NIFI_HOME
mkdir state
mkdir state/zookeeper
echo 1 > state/zookeeper/myid
#第二個節點:192.168.10.216
cd $NIFI_HOME
mkdir state
mkdir state/zookeeper
echo 2 > state/zookeeper/myid
#第三個節點:192.168.210.217
cd $NIFI_HOME
mkdir state
mkdir state/zookeeper
echo 3 > state/zookeeper/myid
如此就將zookeeper的關聯信息給配置起來了。
6.校驗是否安裝成功.
啓動校驗是否安裝成功:分別在 215, 216, 217, 三臺機器上使用 sh bin/nifi.sh start 命令啓動:(nifi的基礎命令:
後臺啓動命令: ./bin/nifi.sh start &
後臺帶日誌啓動命令: ./bin/nifi.sh start >nifi.log &
前臺啓動命令: ./bin/nifi.sh run &
運行狀態命令: ./bin/nifi.sh status
關閉命令: ./bin/nifi.sh stop
查看日誌命令: tail –f ./logs/nini-app.log
)
點擊cluster,可以看見如下圖示:
如此,就可以確定:nifi集羣是安裝成功的。
7.注意項目.
- 如果要在 /etc/hosts 文件中配置ip和機器名稱的對應,則三臺機器都要配置,而且配
置完成之後,必須要重啓,保證配置的名稱是生效的。
2.使用了默認集成的zookeeper之後,就不能再使用外部的zookeeper,除非修改外部
訪問的端口。
3.在nifi.properties文件中,必須注意配置的:
nifi.cluster.flow.election.max.wait.time=20 sec
nifi.cluster.flow.election.max.candidates=1
4.不要打開防火牆,如果要打開防火牆,那麼必須把要使用的端口都放開,貼下centos防火牆操作的命令:
#進程與狀態相關
systemctl start firewalld.service #啓動防火牆
systemctl stop firewalld.service #停止防火牆
firewall-cmd --state #查看防火牆狀態
firewall-cmd --reload #更新防火牆規則
firewall-cmd --state #查看防火牆狀態
firewall-cmd --reload #重載防火牆規則
firewall-cmd --list-ports #查看所有打開的端口
firewall-cmd --list-services #查看所有允許的服務
firewall-cmd --get-services #獲取所有支持的服務
#區域相關
firewall-cmd --list-all-zones #查看所有區域信息
firewall-cmd --get-active-zones #查看活動區域信息
firewall-cmd --set-default-zone=public #設置public爲默認區域
firewall-cmd --get-default-zone #查看默認區域信息
firewall-cmd --zone=public --add-interface=eth0 #將接口eth0加入區域public
#接口相關
firewall-cmd --zone=public --remove-interface=eth0 #從區域public中刪除接口eth0
firewall-cmd --zone=default --change-interface=eth0 #修改接口eth0所屬區域爲default
firewall-cmd --get-zone-of-interface=eth0 #查看接口eth0所屬區域
#端口控制
firewall-cmd --add-port=80/tcp --permanent #永久添加80端口例外(全局)
firewall-cmd --remove-port=80/tcp --permanent #永久刪除80端口例外(全局)
firewall-cmd --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(全局)
firewall-cmd --zone=public --add-port=80/tcp --permanent #永久添加80端口例外(區域public)
firewall-cmd --zone=public --remove-port=80/tcp --permanent #永久刪除80端口例外(區域public)
firewall-cmd --zone=public --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(區域public)
如此通過以上的六步驟,就可以將nifi的集羣給搭建起來了,愛怎麼玩,那就怎麼去玩吧。
詳細可以參考文檔:https://download.csdn.net/download/supingemail/11905314