ZooKeeper學習 一:安裝

ZooKeeper

zooKeeper是一個分佈式協調工具,用處十分的廣泛,基本上可以總結一下幾點。
(1)分佈式狀態下配置信息的維護:
在程序運行時我們需要維護一些配置信息,例如數據庫的信息,這些可以作爲配置文件讓程序讀取,但是在分佈式狀態下,如果一個配置更新了,可能和他相關的其他集羣也要更新自己的信息,這個配置信息的維護變得比較困難。使用ZooKeeper可以簡化這個操作。
(2)分佈式鎖的實現:在分佈式轉態下,多線程的數據同步,這個鎖之前的鎖已經不行了,需要支持分佈式轉態下的鎖。
(3)集羣管理:在集羣操作中,如何保證在一個機器宕機之後能夠及時的發現?這個ZooKeeper有一個Watcher 機制,能夠觀察集羣中的每臺機器的狀態。
(4)分佈式狀態下唯一ID的生成。

基本結構

在這裏插入圖片描述
其實和目錄樹差不多,有點類似於文件系統。
Znode:樹上的每個節點叫做ZooKeeper Node 就是Znode,這個存儲了這個節點所有的的信息,包括編號,子節點等等。
事務 ZooKeeper對每個寫操作在內部默認都是維護一個事務,保證這個樹的一致性。

ZooKeeper 安裝

(1)下載地址
這裏可以把源碼下載下來,自己解壓一下,可以安裝。
(2)mac 上如果安裝了brew命令,直接brew install zookeeper。
在這裏插入圖片描述
這個自動就安裝好了。
配置文件
mac 下安裝好了的地址在:/usr/local/etc/zookeeper這個地方會有一些配置文件
在這裏插入圖片描述
如果沒有zoo.cfg 自己cp 一份:cp zoo_sample.cfg zoo.cfg.
打開zoo.cfg:
在這裏插入圖片描述
這兩個參數。
dataDir:這個是zookeeper持久化的一種方式,由於zookeeper是基於內存的,所以關閉之後數據就會丟失,但是他和redis一樣可以持久化。這個參數的值,就是data文件夾所在的位置,如果是源碼解壓,這個需要自己在zookeeper的根目錄下新建一個data文件夾,然後把值寫到這裏。
clientPort:這個就是客戶端連接的默認端口號。

ZooKeeper的啓動

zkServer start 啓動:
在這裏插入圖片描述
zkServer status 查看狀態:
在這裏插入圖片描述
這個說他可能沒有running,不用管它,但是可以:
在這裏插入圖片描述
查看一下打出來的日誌。
客戶端連接:
zkCLi:
在這裏插入圖片描述
顯示連接上了.
quit退出:
在這裏插入圖片描述
到這來基本上ZooKeeper就是OK的了

說明

(1)如果是基於源碼解壓,需要看看是不是已經編譯好了,zooKeeper高版本直接解壓是不行的,最好現在帶-bin後綴的,這個是已經編譯好了。
(2)如果是其他Linux系統,找到bin目錄下的腳本文件,指令不是zkServer XX,變成了執行腳本傳入參數的形式,例如啓動:
在bin目錄下有一個zkServer.sh 的腳本,啓動命令就是:
sh zkServer.sh start,其他的都是一樣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章