1. 下載源代碼地址apache
官方網站:mirrors.cnnic.cn/apache/zook…ubuntu
本次搭建下載爲3.4.6,最新爲release版本後端
2. zookeeper集羣種類測試
一、單節點方式:部署在一臺機器上網站
二、單IP多借點:部署在同一IP,可是有多個節點,各有本身的端口命令行
三、多IP多借點:部署在不一樣IP,各有本身的端口3d
3. 集羣搭建(ubuntu)cdn
一、單節點方式比較簡單:server
若是沒有特殊需求,不須要修改配置文件,直接使用默認配置文件便可。blog
配置內容爲:
命令行格式爲:
bin/zkServer.sh start
查看是否成功運行:
bin/zkServer.sh status
成功運行輸出爲:
注意事項:
(1)bin/zkServer.sh start運行後端輸出信息不能表明已經成功運行,必須使用bin/zkServer.sh status查看狀態來進行測試才能肯定。
啓動成功與否,執行bin/zkServer.sh start以後,終端都會輸出:
(2)端口的佔用有可能致使失敗,失敗緣由能夠在zookeeper.out文件中找到:
舉例:使用8080做爲端口:
(3)重複啓動,則終端輸出:
(4)退出zookeeper
bin/zkServer.sh stop
二、單IP多節點
(1)修改配置文件:
拷貝多份zookeeper程序,例如設置三個server,分別建立目錄server一、server二、server3,每一個目錄下存放一份zookeeper程序,並修改各自配置文件以下:
Server1
Server2:
Server3:
注意:
同一IP上搭建多個節點的集羣時,必需要注意端口問題,端口必須不一致才行;
建立多個節點集羣時,在dataDir目錄下必須建立myid文件,myid文件用於zookeeper驗證server序號等,myid文件只有一行,而且爲當前server的序號,例如server1的myid就是1,server2的myid就是2等,依次這樣...
(2) 啓動過程:
本次啓動順序爲server一、server二、server3
在啓動過程當中會驗證一些配置問題。
步驟一:啓動server1
使用bin/zkServer.sh status查看server1的啓動結果:
而後查看server1的zookeeper.out文件發現:
注:如上面兩幅圖片所示,當搭建集羣時,若是啓動一個節點,會出現兩個現象;現象一,此時驗證啓動狀態,會發現啓動失敗;現象二,zookeeper.out文件中也顯示鏈接其餘節點失敗
此時不須要擔憂,這是正常情況。當再啓動一個節點時,現象一就消失;當全部節點都成功啓動時,現象二就會消失
步驟二:啓動server2
查看server2啓動後的zookeeper.out文件
上面兩幅圖片說明,server2啓動後,server1和server2就自動組成集羣,而且選舉server2爲leader,server1天然就爲follower。
步驟3:啓動server3
驗證一:clientPort使用相同端口啓動結果:
啓動後,查看zookeeper.out文件:
驗證二:server3的選舉leader端口和鏈接leader通訊端口和server1的相同時:
啓動後,查看zookeeper.out文件
驗證三:沒有建立myid文件:
啓動後查看zookeeper.out文件:
正常啓動server3後:
查看zookeeper.out文件:
使用bin/zkServer.sh status查看三者狀態:
三、多IP多節點
將zookeeper拷貝到每一個節點一份。
多IP多節點與單IP多節點搭建過程基本一致,上述過程再也不重複描述,有一個比較重要的地方:
主機名與IP地址的映射
本例中採用4個IP上的4個節點,域名和IP的對應關係爲:
rman-nod1 10.110.0.60
rman-nod2 10.110.0.61
rtask-nod3 10.110.10.30
rtask-nod4 10.110.10.40
注:其中rman-nod1和rman-nod2爲雙網卡節點,其餘爲單網卡節點;
其中rman-nod1的網址爲: 10.110.0.60----對外
10.110.10.2----對內
rman-nod2的網址爲: 10.110.0.61---對外
10.110.10.6----對內
zookeeper配置文件server的IP爲:
所以鏈接老是失敗。當將zookeeper配置文件中server的IP改成對內IP時,就能夠正確鏈接: