好程序員大數據學習路線之zookeeper乾貨

  好程序員大數據學習路線之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.跟用戶之間保持心跳通信以感知用戶的狀態

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章