Zookeeper--節點型別

韓家小志發表於2020-12-07

相關命令

  • stat命令:stat path
    用於檢視某個節點的屬性

  • ls2命令:ls2 path
    ls + stat :檢視子節點並顯示當前節點的屬性
    在這裡插入圖片描述

  • 建立節點
    create [-s] [-e] path data

節點的型別

持久化節點:只要建立,就永久存在,除非主動刪除,預設建立的節點型別

  • create
  • 舉例:create -s /bigdata/hive hive1

臨時節點:只在當前Session有效,Session一旦關閉,這個節點自動消失

  • create -e
  • 舉例:create -s /bigdata/hive hive2

類似於Mysql中的臨時表

  • 普通表:create table (field);
  • 臨時表:create temporary table (field);
    • 當前會話一旦斷開,臨時表自動消失
    • 臨時存在,用於臨時儲存一些資料
    • 子查詢中內層的SQL語句先執行,執行以後Mysql就是儲存在臨時表中的
      • select … from (select2)
  • 用於儲存一些臨時性的資料
  • 臨時節點不允許有子節點
    • 會報Ephemerals cannot have children
  • 應用:幫助別人選舉搶注式
    • 所有主服務會搶注建立一個目錄,這個目錄被誰建立,誰就是工作狀態,其他是備份狀態
    • 所有備份狀態會監聽這個目錄,如果這個目錄消失了,說明工作的主服務故障了,重新選舉

順序節點:會根據節點建立的路徑,自動編號,構建序列的節點列表

  • 類似於Mysql中自動遞增:default
  • 用於儲存有序的資料
順序節點–持久化有序節點
  • create -s
  • 舉例:create -s /bigdata/hive hive3
順序節點–臨時有序節點
  • create -s -e
  • 舉例:create -s /bigdata/hive hive4
  • 應用:幫助別人選舉排號式
    • 有的主服務都在zookeeper中建立一個節點,zookeeper自動編號
    • 編號最小的會成為工作主服務
    • 所有備份狀態會監聽這個目錄,如果這個節點消失了,說明工作的主服務故障了,重新選舉

相關文章