Zookeeper簡介及使用
1、zookeeper簡介
動物管理員
Apache ZooKeeper致力於開發和維護開源伺服器,實現高度可靠的分散式協調。
2、什麼是ZooKeeper?
ZooKeeper是一種集中式服務,用於維護配置資訊,命名,提供分散式同步和提供組服務。所有這
些型別的服務都以分散式應用程式的某種形式使用。每次實施它們都需要做很多工作來修復不可避
免的錯誤和競爭條件。由於難以實現這些型別的服務,應用程式最初通常會吝嗇它們,這使得它們
在變化的情況下變得脆弱並且難以管理。即使正確完成,這些服務的不同實現也會在部署應用程式
時導致管理複雜性。
3、zookeeper功能
(1)儲存資料
(2)監聽
4、zookeeper工作機制
基於觀察者模式設計的分散式服務管理框架
5、zookeeper的儲存結構
目錄樹結構
6、zookeeper應用場景
(1)叢集統一配置管理
(2)叢集統一命名服務
(3)叢集統一管理
(4)伺服器的動態上下線感知
(5)負載均衡
7、安裝zookeeper單機版
(1)下載安裝包 zookeeper-3.4.10.tar.gz
(2)上傳安裝包到Linux
alt+p(SecureCRT中)
(3)解壓
tar -zxvf zookeeper-3.4.10.tar.gz
(4)修改配置檔案
進入zookeeper安裝目錄下的conf資料夾下
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
dataDir=/root/hd/zookeeper-3.4.10/zkData
(5)啟動zk
bin/zkServer.sh start
(6)檢視狀態
bin/zkServer.sh status
(7)啟動客戶端
bin/zkCli.sh
8、完全分散式安裝
(1)下載安裝包 zookeeper-3.4.10.tar.gz
(2)上傳安裝包到Linux
alt+p(SecureCRT中)
(3)解壓
tar -zxvf zookeeper-3.4.10.tar.gz
(4)修改配置檔案
進入zookeeper安裝目錄下的conf資料夾下
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
dataDir=/root/hd/zookeeper-3.4.10/zkData
###############cluster###############
server.1=hd09-1:2888:3888
server.2=hd09-2:2888:3888
server.3=hd09-3:2888:3888
其中server.後面的數字1、2、3分別是機器hd09-1、hd09-2、hd09-3中zookeeper-3.4.10/zkData/myid檔案中的值
(5)新增檔案myid
$cd zookeeper-3.4.10/zkData
$touch myid
(6)新增內容在myid為1
$ vi myid
1
(7)傳送zookeeper檔案到其它機器
$ scp -r zookeeper-3.4.10 hd09-2:$PWD
$ scp -r zookeeper-3.4.10 hd09-3:$PWD
(8)修改myid依次為2 3
(9)修改環境變數
vi /etc/profile
export ZOOKEEPER_HOME=/root/hd/zookeeper3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
(10)生效環境變數
source /etc/profile
(11)啟動zookeeper
zkServer.sh start
(12)檢視狀態
zkServer.sh status
(13)關閉zookeeper
zkServer.sh stop
9、客戶端的命令列操作
(1)啟動客戶端
zkCli.sh
(2)檢視幫助
help
(3)檢視當前znode所包含的內容
ls /
(4)建立節點
create /hello 18
(5)建立短暫znode
create -e /haha tom
(6)建立帶序號znode
create -s /bigdata tom
(7)建立短暫帶序號
create -e -s /bigdata tom
(8)檢視此節點的詳細資訊
ls2 /
(9)獲得節點值監聽
get /hello watch
(10)監聽路徑
ls / watch
(11)修改znode資料
set /hello iiiii
(12)刪除節點
delete /hello
(13)遞迴刪除
rmr /delireba
(14)檢視節點狀態資訊
stat /