Zookeeper是什么
zookeeper是一個分布式服務框架,主要用于解決資料管理問題,例如:統一命名服務、狀態同步服務、集群管理、分布式應用配置項的管理等,
zookeeper=檔案系統+監聽通知機制,
檔案系統
Zookeeper維護一個類似檔案系統的資料結構,每個子目錄都例如NameService,都被稱為znode(目錄節點)、和檔案系統一樣,可以自由的增加、洗掉節點znode,在一個znode下增加、洗掉子znode,唯一不同的在于znode是可以存盤資料的,
檔案系統有如下幾種型別:
-
PERSISTENT-持久化目錄節點:客戶端與zookeeper斷開連接后,該節點依舊存在
-
PERSISTENT_SEQUENTIAL-持久化順序編號目錄節點:客戶端與zookeeper斷開連接后,該節點依舊存在,只是Zookeeper給該節點名稱進行順序編號
-
EPHEMERAL-臨時目錄節點:客戶端與Zookeeper斷開連接后,該節點被洗掉
-
EPHEMERAL_SEQUENTIAL-臨時順序編號目錄節點:客戶端與Zookeeper斷開連接后,該節點被洗掉,只是Zookeeper給該節點名稱進行順序編號
監聽通知機制
客戶端注冊監聽它關心的目錄節點,當目錄節點發生變化(資料改變,被洗掉,子目錄節點增加洗掉)時,Zookeeper會通知客戶端,
Zookeeper單機版安裝(linux)
kafka和zookeeper(linux)安裝包
進入指定目錄,這里新建了一個`zookeeper`為檔案夾,解壓檔案
tar -zxvf zookeeper-3.4.10.tar.gz,重命名檔案夾名稱為:mv apache-zookeeper-3.5.9 zookeeper_3.5.9
進入目錄下的conf目錄,修改默認的組態檔,將默認的zoo-simple.cfg改名為zoo.cfg
mv zoo-simple.cfg zoo.cfg
在zoo.cfg檔案中修改zookeeper資料存放位置,這里在/zookeeper/data/zookeeper
dataDir=/var/data/zookeeper
添加日志檔案目錄資訊
dataLogDir=/var/data/zookeeper
在檔案最后的位置添加節點的資訊 (配置集群才需要)
node-131:代表zookeeper的主機名
12888埠:代表訪問Zookeeper的埠
13888埠:代表重新選舉leader的埠
server.1=node-131:12888:13888
server.2=node-132:12888:13888
server.3=node-133:12888:13888
配置環境變數
# export ZOOKEEPER_INSTALL=/home/cpgh/zookeeper/zookeeper_3.5.9/
# export PATH=$PATH:$ZOOKEEPER_INSTALL/bin
啟動zookeeper,進入bin目錄,并啟動zookeeper
啟動zookeeper:./zkServer.sh start
后臺啟動命令:nohup ./zkServer.sh start >> /logs/zookeeper.file 2>&1 &
還要啟動zookeeper的客戶端:./zkCli.sh
如果是連接多個不同的主機節點,可以使用如下命令:
./zkCli.sh -server 192.168.180.132:2888
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/379494.html
標籤:其他
上一篇:MapReduce
下一篇:大資料之分布式資料庫HBase
