Zookeeper介紹
- ZooKeeper是一個分佈式的,開放源碼的分佈式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個為分佈式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分佈式同步、組服務等。
- ZooKeeper的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
- ZooKeeper包含一個簡單的原語集,提供Java和C的接口。
- ZooKeeper代碼版本中,提供了分佈式獨享鎖、選舉、隊列的接口,代碼在zookeeper-3.4.3\\src\\recipes。其中分佈鎖和隊列有Java和C兩個版本,選舉只有Java版本。
- 總結:Zookeeper負責服務的協調調度.當客戶端發起請求時,返回正確的服務器地址。
1. Zookeeper安裝
1.1測試JDK
![微服務架構Dubbo之Zookeeper安裝測試和zookeeper的集群搭建說明](http://p2.ttnews.xyz/loading.gif)
1.2上傳壓縮包
![微服務架構Dubbo之Zookeeper安裝測試和zookeeper的集群搭建說明](http://p2.ttnews.xyz/loading.gif)
1.3解壓壓縮包
<code>tar -xvf zookeeper-3.4.14.tar.gz
/<code>
1.4 刪除壓縮包,將解壓文件改名為zookeeper(自定義)
1.5 創建data和log文件
1.6 修改zoo.cfg配置文件
1.6.1 進入data文件,pwd,複製其路徑
1.6.2更改zoo_sample.cfg文件名為zoo.cfg
1.6.3 修改dataDir路徑,也就是剛才的data路徑(dataLogDir類似)
1.7 檢測Zooleeper是否安裝成功
1.7.1 進入bin文件目錄下,通過sh zkServer.sh start 開啟
1.7.2 開啟後 ,通過 sh zkServer.sh status 檢測狀態 ,
狀態顯示為standalone說明開啟成功,你的Zookeeper安裝成功!!!
2.Zookeeper集群搭建
2.1 準備工作
2.1.1創建zkCluster文件再zookeeper的根目錄下,再其中創建zk1/zk2/zk3三個文件夾
2.1.2在三個文件夾中創建data和log文件 -- mkdir {zk1,zk2,zk3}/{data,log}
2.2創建myid
2.2.1根據不同的文件有不同myid-----zk1的myid中內容為1,zk2為2,zk3為3
2.3.1 複製zk1的路徑
2.3.2 在conf文件目錄下將zoo_sample.cfg 複製為zoo1.cfg之後修改配置文件.
2.3.3 vim zoo1.cfg -->> 更改配置
- dataDir和dataLogDir的路徑就用data和log所對應的路徑
- clientPort 所對應的2181的最後一位數,只需按照myid中的數字所配置,其餘三位不用修改
- server.1/2/3 是屬於疊加一的方式,便於記憶
- zoo2.cfg/zoo3.cfg只需按照我上文所述更改即可
- 記住server.1/2/3不需要更改,只用配置一次
2.4 測試集群搭建是否成功
<code>sh zkServer.sh start zoo1.cfg 開啟
sh zkServer.sh stop zoo1.cfg 關閉
sh zkServer.sh status zoo1.cfg 檢測狀態
/<code>
2.4.1 在圖中我只開啟了zoo1.cfg/zoo2.cfg---->> 從我框住的可以看出,zoo2.cfg為主機,zoo1.cfg為從機,如果zoo3.cfg開啟,依舊是zoo2.cfg的從機
Zookeeper集群搭建成功!!!
閱讀更多 Java架構胖胖 的文章