zookeeper的安裝:
1.關閉防火牆
firewalld服務即可:
sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service
2. JDK
3. tar -xvf
4.進人 cd zookeeper-3.4.8/conf
5.zoo_sample.cfg文件複製爲zoo.cfg cp zoo_sample.cfg zoo.cfg
6.vim zoo.cfg
7.修改其中的屬性dataDir,指定數據的存儲目錄:dataDir=/home/software/zookeeper-3.4.8/tmp
zookeeper的節點
1.節點的狀態:looking-選舉 follower-跟隨者 leader-領導者 observerobserver 觀察者
2.集羣最少是3個,奇數(過半性)
3.集羣分裂產出多個leader,叫腦裂 ,當存活沒有過半,整個集羣停止服務不提供選舉
ZAB協議
1.ZAB是專門Zookeeper設計的協議,基於2PC和PAXOS來進行設計
2PC -Two Phase Commit 二階段提交(一票否決),優點:原理簡單,缺點:效率低下,協調者存在單點故障
Paxos用於不穩定的集羣決定某個請求的執行的
2.原子廣播(保證數據一致性)和崩潰恢復(解決2pc算法的單點問題)
原子廣播:解決信息的共享問題
3.節點新進人集羣,這個節點會找leader,信息共享
查看log
cp zookeeper-3.4.8.jar tmp/version-2/ 複製
cd lib
cp slf4j-api-1.6.1.jar ../tmp/version-2/
cd ../tmp/version-2/
java -cp .:zookeeper-3.4.8.jar:slf4j-api-1.6.1.jar org.apache.zookeeper.server.LogFormatter log.200000001
觀察者
是zookeeper的節點狀態之一
不會參與投票和選舉,聽從leader
用於不穩定的網絡ss
sbserver 宕機 --集羣會提供服務,請求是否執行有leader-follower執行(過半)
特性:
1 數據一致性
2.順序性 --隊列
3.實時
4.可靠
5.原子性
6.過半性