Zookeeper入門學習--01介紹及安裝
介紹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!’
說明成功
相關文章
- Postman安裝及入門教程Postman
- 【Redis學習⑴】Redis入門安裝及基礎資料的知識Redis
- PyTorch深度學習入門筆記(一)PyTorch環境配置及安裝PyTorch深度學習筆記
- 整合學習入門介紹
- Webpack學習 – Webpack安裝及安裝Web
- ZooKeeper分散式專題(一) -- zookeeper安裝以及介紹分散式
- 從安裝到入門:ElasticSearch 快速學習手冊Elasticsearch
- .Net 下 Solr 入門學習系列(二)Solr安裝Solr
- ccs的介紹,安裝和使用入門
- (CMake):CMake安裝及快速入門案例
- Docker 入門及安裝[Docker 系列-1]Docker
- ZipKin原理學習--ZipKin入門介紹
- webpack 學習筆記:入門介紹Web筆記
- zookeeper入門
- 新手入門必備:kylin安裝教程介紹!
- MongoDB入門(介紹、安裝、增刪改查)MongoDB
- 【整合學習】lightgbm入門及模板
- 機器學習入門之sklearn介紹機器學習
- React從入門到精通學習系列之(1)安裝ReactReact
- 安裝apache及介紹Apache
- 檔案系統 FTP Ubuntu 安裝入門介紹FTPUbuntu
- Zookeeper快速入門
- Zookeeper入門指南
- 【轉】Zookeeper入門
- ZooKeeper 入門指引
- zookeeper 快速入門
- ZooKeeper 入門教程
- Pytest學習(一)- 入門及基礎
- Zookeeper的安裝
- Zookeeper 安裝配置
- docker安裝zookeeperDocker
- Webpack及npm介紹安裝WebNPM
- Hue--介紹及安裝
- Redis入門及常用命令學習Redis
- ZooKeeper 基礎入門
- Zookeeper基礎入門
- 入門學Python一定要知道的requests模組安裝及使用Python
- 安卓學習筆記20:Fragment入門安卓筆記Fragment