Zookeeper入門學習--01介紹及安裝

桂花很香,旭很美發表於2020-10-12

介紹Zookeeper

Zookeeper概述

官方地址 : https://Zookeeper.apache.org/releases.html

Zookeeper ,【 Zoo - 動物園, Keeper - 管理員】動物園中有很多種動物,這裡的動物就可以比作分散式環境下多種多樣的服務,而 Zookeeper 做的就是管理這些服務。
Zookeeper 是用於分散式應用程式的高效能協調服務 ,是 Apache Hadoop 的一個子專案,Zookeeper為分散式系統而生。Zookeeper 本質上是一個分散式的小檔案儲存系統【中介軟體】。它主要是用來解決分散式應用中經常遇到的一些資料管理問題,如:統一命名服務、狀態同步服務、叢集管理、分散式應用配置項的管理等。
提供基於類似於檔案系統的目錄樹方式的資料儲存,並且可以對樹中的節點進行有效管理。從而用來維護和監控你儲存的資料的狀態變化。通過監控這些資料狀態的變化,從而可以達到基於資料的叢集管理。
上面的解釋有點抽象,簡單來說 Zookeeper= 檔案系統 + 監聽通知機制 Zookeeper 適用於儲存和協同相關的關鍵資料,不適合用於大資料量儲存。

什麼是分散式?

集中式系統
集中式系統,集中式系統中整個專案就是一個獨立的應用,整個應用也就是整個專案,所有的東西都在一個應用裡面。部署到一個伺服器上。

分散式系統
隨著公司的發展,應用的客戶變多,功能也日益完善,加了很多的功能,整個專案在一個tomcat上跑,tomcat說它也很累,能不能少跑點程式碼,這時候 就產生了分散式系統。我們可以把大專案按功能劃分為很多的模組,比如說單獨一個系統處理訂單,一個處理使用者登入,一個處理後臺等等,然後每一個模組都單獨在一個 tomcat 中跑,合起來就是一個完整的大專案,這樣每一個 tomcat 都非常輕鬆。
 

分散式系統特點:
  • 多臺伺服器構成
  • 伺服器之間通過網路進行通訊
  • 伺服器彼此進行互動
  • 伺服器有個共同目標

Zookeeper的發展歷程

雅虎的開發人員就開發了一個通用的無單點問題的分散式應用程式的高效能協調服務,這就是 Zookeeper Zookeeper 之後在開源界被大量使用,很多著名開源專案都在使用 Zookeeper ,例如:
  • Hadoop:使用Zookeeper Namenode 的高可用。
  • HBase:保證叢集中只有一個master,儲存hbase:meta表的位置,儲存叢集中的RegionServer表。
  • Kafka:叢集成員管理,controller 節點選舉。

Zookeeper主要應用場景

1、註冊中心 : 服務管理/治理

分散式應用中,通常需要有一套完整的命名規則,既能夠產生唯一的名稱又便於人識別和記住,通常情況下用樹形的名稱結構是一個理想的選擇,樹形的名稱結構是一個有層次的目錄結構。通過呼叫Zookeeper 提供的建立節點的 API ,能夠很容易建立一個全域性唯一的 path ,這個path就可以作為一個名稱。阿里巴巴集團開源的分散式服務框架 Dubbo 中使用 Zookeeper來作為其命名服務,維護全域性的服務地址列表。

 

2 、配置中心 : 配置檔案管理
資料釋出 / 訂閱即所謂的配置中心:釋出者將資料釋出到 Zookeeper一系列節點上面,訂閱者進行資料訂閱,當資料有變化時,可以及時得到資料的變化通知,達到 動態獲取資料 的目的。

Zookeeper 採用的是 推拉結合 的方式 : 實現配置中心。
1 、推 : 服務端會推給註冊了監控節點的客戶端 Wathcer 事件通知
2 、拉 : 客戶端獲得通知後,然後主動到服務端拉取最新的資料

3 、分散式鎖 : 多服務間的事務控制
分散式鎖是控制分散式系統之間同步訪問共享資源的一種方式。在分散式系統中,常常需要協調他們的動作。如果不同的系統或是同一個系統的不同主機之間共享了一個或一組資源,那麼訪問這些資源的時候,往往需要互斥來防止彼此干擾來保證一致性,在這種情況下,便需要使用到分散式鎖。
4 、分散式佇列 : 12306 、秒殺商品,網上掛號,搶購 ...
在傳統的單程式程式設計中,我們使用佇列來儲存一些資料結構,用來在多執行緒之間共享或傳遞資料。分散式環境下,我們同樣需要一個類似單程式佇列的元件,用來實現跨程式、跨主機、跨網路的資料共享和資料傳遞,這就是我們的分散式佇列。

Zookeeper環境搭建

前提 : 必須安裝 jdk 1.8 ,配置 jdk 環境變數

安裝Zookeeper

1 、下載
下載地址: http://Zookeeper.apache.org

檢視 Zookeeper 的更新歷史

Zookeeper 下載頁的地址

2、解壓

注意 : 解壓到沒有中文路徑的目錄下(一般選擇根路徑)

3、修改配置檔案

Zookeeper 路徑下建立一個 data 目錄

修改配置檔案
conf 路徑中複製一份 zoo_sample.cfg, 改名為 zoo.cfg

指定儲存資料的目錄: data 目錄

4、啟動Zookeeper

開啟 bin 路徑,雙擊 zkServer.cmd, 啟動 Zookeeper 服務

5、啟動客戶端測試

啟動客戶端,看到 ‘Welcome to Zookeeper!’ 說明成功

 

相關文章