好程序員大數據培訓學員zookeeper筆記分享,上周學習了zookeeper,一開始感覺不容易理解,后來隨著學習的深入,漸漸地明白了很多知識,下面慢慢來介紹zookeeper。 zookeeper是什么??? zookeeper是一個分布式協調服務,就是為用戶的分布式應用程序提供協調服務的。 zookeeper是為其他的分布式程序提供服務的 zookeeper本身就是一個分布式程序(只要半數以上節點存活,就能提供服務) zookeeper的特性: zookeeper:一個leader,多個follower 全局數據一致性:每個server都保存一份相同的數據,client無論連接那臺服務器,都可以得到相同的數據 分布式讀寫,更新請求轉發,由leader實施數據更新的寫操作 更新請求按順序執行,來自同一個client的更新請求會按照其發送的順序來執行 數據更新的原子性,一次數據要么更新成功,要么失敗。 實時性,在一定時間范圍內,client能讀到最新的數據。 應用場景: 統一命名服務;配置管理;集群管理;共享鎖;隊列管理; Zookeeper 作為 Hadoop 項目中的一個子項目,是 Hadoop 集群管理的一個必不可少的模塊,它主要用來控制集群中的數據,如它管理 Hadoop 集群中的 NameNode,還有 Hbase 中 Master Election、Server 之間狀態同步等。 本文介紹的Zookeeper 的基本知識,以及介紹了幾個典型的應用場景。這些都是 Zookeeper 的基本功能,最重要的是 Zoopkeeper 提供了一套很好的分布式集群管理的機制,就是它這種基于層次型的目錄樹的數據結構,并對樹中的節點進行有效管理,從而可以設計出多種多樣的分布式的數據管 理模型,而不僅僅局限于上面提到的幾個常用應用場景。 選舉機制: 1.服務器ID:數據ID(編號)越大在選擇算法中的權重越大 2.數據ID:服務器中存放的數據最大ID、值越大說明數據越新,在選舉算法種數據越新權重越大。 3.邏輯時鐘:即投票的次數,同一投票過程中的邏輯時鐘都是相同的。每投完一次票這個數據就會加一然后與接收到的其它服務器返回的投票信息中的數值相比,根據不同的值做出不同的判斷。 三大功能: 1.為用戶提供數據的注冊和查詢服務 2.為用戶提供數據節點的監聽注冊服務 3.跟用戶之間保持心跳通信以感知用戶的狀態
|