ZooKeeper

Zookeeper:一個用于分布式應用程序的分布式,開源的協調服務

ZooKeeper 公開了一組簡單的原語,分布式應用程序可以基于這些原語來實現統(tǒng)一命名服務、狀態(tài)同步服務、集群管理、分布式應用配置項的管理等

簡單來說 ZooKeeper = 文件系統(tǒng) + 監(jiān)聽通知機制

1.文件系統(tǒng)

ZooKeeper維護一個類似于文件系統(tǒng)的數據結構:


文件結構

每個子目錄項如 NameService 都被稱作 znode(目錄節(jié)點),和文件系統(tǒng)一樣,我們能夠自由的增加、刪除 znode,在一個 znode 下增加、刪除子 znode,唯一的不同在于 znode 是可以儲存數據的。

有四種類型的 znode:

  • PERSISTENT-持久化目錄節(jié)點
    客戶端與zookeeper斷開連接后,該節(jié)點依舊存在
  • PERSISTENT_SEQUENTIAL-持久化順序編號目錄節(jié)點
    客戶端與zookeeper斷開連接后,該節(jié)點依舊存在,只是Zookeeper給該節(jié)點名稱進行順序編號
  • EPHEMERAL-臨時目錄節(jié)點
    客戶端與zookeeper斷開連接后,該節(jié)點被刪除
  • EPHEMERAL_SEQUENTIAL-臨時順序編號目錄節(jié)點
    客戶端與zookeeper斷開連接后,該節(jié)點被刪除,只是Zookeeper給該節(jié)點名稱進行順序編號

2.監(jiān)聽通知機制

客戶端注冊監(jiān)聽它關心的目錄節(jié)點,當目錄節(jié)點發(fā)生變化(數據改變、被刪除、子目錄節(jié)點增加刪除)時,zookeeper 會通知客戶端。

ZooKeeper單機模式配置安裝

配置文件

tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
  • tickTime:ZooKeeper使用的基本時間單位(毫秒)。它用于做心跳,并且最小會話超時將是tickTime的兩倍
  • dataDir:存儲內存數據庫快照的位置,除非另有說明,否則存儲數據庫更新的事務日志。
  • clientPort:用于監(jiān)聽客戶端連接的端口

簡單操作

啟動命令:zkServer.sh start
命令行連接:zkCli.sh

  1. 使用 ls 命令來查看當前 ZooKeeper 中所包含的內容 ls \
  2. 創(chuàng)建一個新的 znode ,使用 create /zkPro myData
  3. 使用 get 命令來查看上面創(chuàng)建的znode中是否存在對應的數據 get /zkPro
  4. 使用 set 命令來對zk索關聯的字符串進行設置:set /zkPro myData123
  5. 刪除znode:delete /zkPro

分布式搭建

三臺機器
配置文件

server.1=xxx.xxx.xxx.xxx:2888:3888
server.2=xxx.xxx.xxx.xxx:2888:3888
server.3=xxx.xxx.xxx.xxx:2888:3888

添加如下配置,啟動即可,需要在data路徑下添加 myid 文件配置id

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 分布式服務框架 Zookeeper Zookeeper名字的由來是比較有趣的,下面的片段摘抄自《從PAXOS到ZO...
    史路比閱讀 1,470評論 0 6
  • 序言 ??Apache ZooKeeper是由集群(節(jié)點組)使用的一種服務,用于在自身之間協調,并通過穩(wěn)健的同步技...
    抄無止境閱讀 1,071評論 0 1
  • zookeeper介紹 什么是zookeeper? zookpeeper是一個高可用的分布式管理與協調框架,基于Z...
    程序員小寶閱讀 844評論 0 3
  • 一、什么是Zookeeper Zookeeper最早起源于雅虎研究院的一個研究小組。在當時,研究人員發(fā)現,在雅虎內...
    DengheLiu閱讀 1,425評論 0 1
  • 沒有讀書的習慣,該豐富一下自己了,腦袋里多裝點知識。應該多讀幾本書的,但是不知道自己能如何堅持,先記個鬼谷子,墨菲...
    愛笑的四葉草閱讀 225評論 0 0

友情鏈接更多精彩內容