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!’
說明成功
相關文章
- 整合學習入門介紹
- ZooKeeper分散式專題(一) -- zookeeper安裝以及介紹分散式
- webpack 學習筆記:入門介紹Web筆記
- ZipKin原理學習--ZipKin入門介紹
- ccs的介紹,安裝和使用入門
- 安裝apache及介紹Apache
- DG學習筆記(1)_入門介紹筆記
- MongoDB入門(介紹、安裝、增刪改查)MongoDB
- ZooKeeper學習第一期---Zookeeper簡單介紹
- Hue--介紹及安裝
- 新手入門必備:kylin安裝教程介紹!
- 檔案系統 FTP Ubuntu 安裝入門介紹FTPUbuntu
- 學習五:zooKeeper的安裝配置
- Zookeeper介紹與叢集安裝
- Mahout學習之Mahout簡介、安裝、配置、入門程式測試
- 01 . Shell詳細入門介紹及簡單應用
- Docker介紹及安裝詳解Docker
- Oracle認證介紹及入門心得Oracle
- MapStruct的介紹及入門使用Struct
- 深度學習之TensorFlow的介紹與安裝深度學習
- Hive學習之一 《Hive的介紹和安裝》Hive
- Zookeeper 介紹及典型應用場景
- 【Redis學習⑴】Redis入門安裝及基礎資料的知識Redis
- MySQL介紹及安裝與多例項MySql
- MongoDB 資料庫介紹及安裝MongoDB資料庫
- Appium 介紹及環境安裝APP
- RabbitMQ系列隨筆——介紹及安裝MQ
- Nginx的介紹及安裝過程Nginx
- rqt的安裝及詳細介紹QT
- Postman安裝及入門教程Postman
- Nginx--入門及安裝Nginx
- day01-Mybatis介紹與入門MyBatis
- mysql學習之-三種安裝方式與版本介紹MySql
- TestNG簡單介紹以及安裝—學習筆記1筆記
- 學習MongoDB 一:MongoDB 入門(安裝與配置)MongoDB
- Webpack學習 – Webpack安裝及安裝Web
- Nginx 入門介紹Nginx
- Django 入門介紹Django