ZooKeeper系列2 ZooKeeper的執行

2021-09-08 10:27:16 字數 2129 閱讀 9840

2、如何啟動集群

1)單機模式

使用者可以通過下面的命令來啟動 zookeeper 服務:

zkserver.sh start

複製**

這個命令預設情況下執行 zookeeper 的 conf 

資料夾下的 zoo.cfg 配置檔案。當執行成功使用者會看到類似如下的提示介面:

root@ubuntu:~# zkserver.sh start

jmx enabled by default

using config: /root/hadoop-0.20.2/zookeeper-3.3.1/bin/../conf/zoo.cfg

starting zookeeper ...

started

... ...

2011-01-19 10:04:42,300 - warn  [main:quorumpeermain@105] - either no config or no quorum defined in config, running  in standalone mode

... ...

2011-01-19 10:04:42,419 - info  [main:zookeeperserver@660] - ticktime set to 2000

2011-01-19 10:04:42,419 - info  [main:zookeeperserver@669] - minsessiontimeout set to -1

2011-01-19 10:04:42,419 - info  [main:zookeeperserver@678] - maxsessiontimeout set to -1

2011-01-19 10:04:42,560 - info  [main:nioservercnxn$factory@143] - binding to port 0.0.0.0/0.0.0.0:2181

2011-01-19 10:04:42,806 - info  [main:filesnap@82] - reading snapshot /root/hadoop-0.20.2/zookeeper-3.3.1/data/version-2/snapshot.200000036

2011-01-19 10:04:42,927 - info  [main:filesnap@82] - reading snapshot /root/hadoop-0.20.2/zookeeper-3.3.1/data/version-2/snapshot.200000036

2011-01-19 10:04:42,950 - info  [main:filetxnsnaplog@208] - snapshotting: 400000058

複製**

從上面可以看出,執行成功後,系統會列出 zookeeper 執行的相關環境配置資訊。

2)集群模式

集群模式下需要使用者在每台 zookeeper 機器上執行第一部分的命令,這裡不再贅述。

3)集群偽分布模式

在集群偽分布模式下,我們只有一台機器,但是要執行三個 zookeeper 服務例項。此時,如果再使用上述命令式肯定行不通的。這裡,我們通過下面三條命能夠令來執行 我們配置的 zookeeper 服務。如下所示:

zkserver.sh start zoo1.cfg

複製**

zkserver.sh start zoo2.cfg

複製**

zkserver.sh start zoo3.cfg

複製**

在執行完第一條命令之後,讀者將會發現一些系統錯誤提示,如下圖 1 所示:

圖 1 :集群偽分布異常提示

產生如上圖所示的異常資訊是由於 zookeeper 服務的每個例項都擁有全域性的配置資訊,它們在啟動的時候需要隨時地進行 leader 選舉操作(此部分內容下面將會詳細講述)。此時第乙個啟動的 zookeeper 需要和另外兩個zookeeper 例項進行通訊。但是,另外兩個 zookeeper 例項還沒有啟動起來,因此將會產生上述所示的異常資訊。

我們直接將其忽略即可,因為當把圖示中的「 2 號」和「 3 號」 zookeeper 例項啟動起來之後,相應的異常資訊就回自然而然地消失。

Zookeeper系列 Leader選舉

為了徹底搞懂zk選舉leader的過程,需要在windows本地搭建乙個偽集群出來,通過實際操作,觀察集群的節點的變化。但是在實操過程中,發現windows搭建的一些坑,這記錄下。1.參考此部落格進行搭建,2.依次啟動,啟動後,無法使用zkserver.cmd status命令,無法觀察哪乙個節點是...

Zookeeper系列二 Zookeeper原理

從擴充套件性開始講起,在zk中存在的角色有leader,follower,observer。zk是讀寫分離的,所有的寫都會壓到leader上面,讀操作可以在follower上面完成。只有follower才能選擇,observer比follower級別還低。observer只是為了放大查詢能力。乙個集...

大白話系列 zookeeper

zookeeper主要服務於分布式系統,可以看做乙個分布式協調系統,主要是用來解決分布式應用中經常遇到的一些資料管理問題,如 統一命名服務 狀態同步服務 集群管理 分布式應用配置項的管理等。上面的解釋有點抽象,簡單來說zookeeper 檔案系統 監聽通知機制。zookeeper的資料結構,跟uni...