zookeeper是什麼
是一個開源的分散式協調服務,
是由雅虎建立的,基於google chubby,
是分散式資料一致性的解決方案。
zookeeper能做什麼
資料的釋出/訂閱(配置中心)
負載均衡
命名服務(全域性節點路徑名稱唯一)
master選舉(kafka、hadoop、hbase)
分散式佇列、分散式鎖
zookeeper特性
從同一個客戶端發起的事務請求,最終會嚴格按照順序被應用到zookeeper中
所有的事務請求的處理結果在整個叢集的所有機器上的應用情況是一致的
一旦伺服器成功響應了客戶端的資料,那麼在整個叢集中一定是同步並且保留下來的
一旦一個事務被成功應用,客戶端就能夠立即從伺服器端讀取到事務
變更後的最新資料狀態;(zookeeper僅僅保證在一定時間內,近實時)
zookeeper安裝
1.下載zookeeper的安裝包
http://apache.fayea.com/zookeeper/stable
2.解壓zookeeper
tar -zxvf zookeeper-3.4.10.tar.gz
3.cd到ZK_HOME/conf資料夾下, copy一份zoo.cfg
cp zoo_sample.cfg zoo.cfg
4.cd到到ZK_HOME/bin資料夾下
sh zkServer.sh start
{start|start-foreground|stop|restart|status|upgrade|print-cmd}
5.客戶端訪問
sh zkCli.sh -server ip:port
1.修改配置檔案 zoo.cfg 新增 server.id=host:port:port
server.1=192.168.11.129:2888:3181
server.2=192.168.11.130:2888:3181
server.3=192.168.11.131:2888:3181
2.建立myid
在每一個伺服器dataDir目錄下建立一個myid的檔案,
檔案就一行資料,資料內容是每臺機器對應的server ID的數字
3.啟動zookeeper