好記憶不如爛筆頭,能記下點東西,就記下點,有時間拿出來看看,也會發覺不一樣的感受.
1.準備機器:
192.168.10.215; 192.168.10.216; 192.168.10.217;
2.安裝zookeeper集羣:
分別在192.168.10.215; 192.168.10.216; 192.168.10.217;機器上安裝zookeeper,然後啓動,他們會自動選出自己的leader。
安裝步驟:a,b,c ,d 四步
a.下載
去官網下載zookeeper,然後解壓/usr/local/software/zookeeper/zookeeper-3.4
b.配置zoo.cfg
複製zoo_sample.cfg 爲zoo.cfg,並根據機器信息,做如下配置:
server.* 給對應的機器,每個ip上的zookeeper,都必須做如上的配置。配置完成之後,保存退出。
c.新建myid文件並寫入集羣標識
在我的zoo.cfg配置文件中,dataDir=/usr/local/software/zookeeper/zookeeper-3.4/tmp 是我的數據目錄,那麼:
在215機器:echo "1" > /usr/local/software/zookeeper/zookeeper-3.4/tmp/myid
在216機器:echo "2" > /usr/local/software/zookeeper/zookeeper-3.4/tmp/myid
在217機器:echo "3" > /usr/local/software/zookeeper/zookeeper-3.4/tmp/myid
如此和上面的配置要一一對應,否則會不能通信。
d.檢測是否安裝成功
分別啓動zookeeper,使用命令:sh bin/zkServer.sh start ;(zk的常用命令:
#啓動ZK服務:
sh zkServer.sh start >zookeeper.log &
#停止ZK服務:
bin/zkServer.sh stop
#重啓ZK服務:
bin/zkServer.sh restart
#查看ZK服務狀態:
bin/zkServer.sh status
),使用命令 bin/zkServer.sh status檢測每臺機器的follower還是leader
如此表示是安裝成功了!
3.下載nifi配置zk連接串:
在解壓的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,具體修改如圖所示:192.168.10.215; 192.168.10.216; 192.168.10.217;
4.修改nifi的配置:
nifi.properties的配置是nifi集羣配置的關鍵:
1.S to S 設置修改:
修改塊爲:”Site to Site” ,主要設置遠程調用的ip和端口:具體如下:nifi.remote.input.host=192.168.10.217; nifi.remote.input.socket.port=10001
注意:215,216,217三臺機器都要修改,ip寫成對應的ip,端口可以爲相同.
2.Web UI設置:
修改塊爲” web properties”, 主要設置訪問的ip和端口:具體爲: nifi.web.http.host=192.168.10.217 ; nifi.web.http.port=9000 如圖:
注意:215,216,217三臺機器都要修改,ip寫成對應的ip,端口可以爲相同.
3.集羣節點設置:
修改塊爲” 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,端口可以爲相同,其他設置也可以一致.
4.zookeeper鏈接設置
修改塊爲” zookeeper properties”, 主要設置zookeeper的連接
串信息:配置爲: 192.168.10.215:2181,192.168.10.216:2181,192.168.10.217:2181
注意:215,216,217三臺機器都要修改,而且此項配置是一致的。
5.啓動校驗是否安裝成功:
分別在 215, 216, 217, 三臺機器上使用 sh bin/nifi.sh start 命令啓動
點擊cluster,可以看見如下圖示:
如此,就可以確定:nifi集羣是安裝成功的。
6.注意項目.
- 如果要在 /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)
這有可能導致啓動報錯。
詳細可以參考文檔:https://download.csdn.net/download/supingemail/11905314