單虛擬機器搭建zookeeper分布式偽集群

2021-10-12 19:55:26 字數 3112 閱讀 7242

zookeeper是乙個分布式的,開放原始碼的分布式應用程式協調服務。顧名思義。分布式其實就是拆。將乙個服務。拆分成多個服務。在保證系統服務功能完整的基礎上,進行拆分。比如訂單服務down掉了並不會影響整體功能的執行。而單體式服務會影響

早在90年代。計算機學家提出分布式cap定律。

c:一致性。讀寫一致性。客戶端發出讀或寫請求。伺服器返回/做出相應結果。

1、假如有a,b伺服器。同時儲存了數字1.

2、客戶發出寫請求:向a伺服器寫入2.覆蓋掉數字1.(現在a伺服器只有2)。

3、客戶繼續對a伺服器發出讀請求。如果伺服器a沒有掛掉。則返回數字2

4、但是如果這時候,客戶端對b伺服器發出讀請求。由於沒有往b上做寫操作。所以只能讀出1(其實客戶是想讀出2)

5、這就不滿足一致性原理。。zookeeper則做了對應處理。當乙個節點被改寫後。對應其他尚可服務的節點都被改寫。

a:可用性。zookeeper不滿足高可用。滿足2n-1選舉策略。當超過一半以上節點掛掉。則判定整個zookeeper集群掛掉。票選機制必須滿足單數票選。集群的伺服器個數必須為3,5,7,9等。否則票數可能一樣。選不出leader。

p:分割槽容錯性:多個伺服器可能分布在不同地域。不同地域的網路請求結果不一樣。設計分布式系統時必須考慮。

所以普通的單體專案滿足ca

分布式系統:滿足ap和cp

三者不能同時滿足

因為伺服器只有乙個。所以單虛擬機器搭建zk集群

2、開啟linux系統。切換root目錄

mkdir zookeeper
tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz
4、將解壓的目錄移動至zookeeper1

mv apache-zookeeper-3.6.2-bin zookeeper1
5、編輯修改集群1

cd zookeeper1/

mkdir data

cd data

echo "1" > myid #集群第乙個節點myid為1

cd ../

cd conf/

cp zoo_sample.cfg zoo.cfg #將zoo_sample拷貝為zoo.cfg

vi zoo.cfg

server.1=127.0.0.1:2881:3881

server.2=127.0.0.1:2882:3882

server.3=127.0.0.1:2883:3883

6、編輯修改集群2

cd /zookeeper/

cp -r zookeeper1 zookeeper2

cp -r zookeeper1 zookeeper3

cd zookeeper2

echo "2" >data/myid

vi conf/zoo.cfg

7、編輯修改集群3

cd ../

cd zookeeper3

echo "3">data/myid

vi conf/zoo.cfg

8、分別啟動集群三個節點

cd ../

sh /zookeeper/zookeeper1/bin/zkserver.sh start

sh /zookeeper/zookeeper2/bin/zkserver.sh start

sh /zookeeper/zookeeper3/bin/zkserver.sh start

9、檢視集群節點執行狀態

第乙個集群

第二個集群

第三個集群

其中leader就是master節點

follower從節點

10、啟動客戶端

常規操作:

1、查詢節點

2、新增節點

父節點不存在情況下建立不了子節點

這時候2181和2182同時也新增了這個節點

3、查詢節點

4、編輯節點

5、建立子節點

子節點裡有值

6、刪除節點

7、遞迴刪除節點(刪除父節點和子節點)

搭建KVM虛擬機器

使用的系統是centos7 物理機ip 172.40.58.82 首先需要將物理機原先有的環境清空,再建立新的環境來支援虛擬機器的搭建 1 設定yum源 使用用centos7 1708.iso這個映象 將centos7 1708.iso 映象移動到 var lib libvirt images is...

搭建虛擬機器DataWare

1.linux centos 6 64位 2.2 2 3.虛擬機器記憶體4096 4.lsilogic 5.scsi 6.建立新的虛擬磁碟50g 7.cd掛載光碟 8.install or 9.建立自定義布局 10.格式化 將修改寫入磁碟 11.現在自定義桌面 基本 瀏覽器 桌面 12.系統 網路連...

虛擬機器中ZooKeeper的安裝

zookeeper的安裝 需要提前準備好jdk環境 解壓檔案到hadoop目錄下 建立zookeeper目錄並建立軟連線 在zookeeper目錄下建立zkdata 目錄修改zookeeper的配置檔案 cd opt bigdata hadoop zookeeper conf mv zoo.samp...