Zookeeper是一個針對大型分佈式系統的可靠協調系統,提供的功能包括:配置維護、名字服務、分佈式同步、組服務等,這篇文章主要介紹了ZooKeeper的安裝及部署,需要的朋友可以參考下
一、Zookeeper介紹
•是一個針對大型分佈式系統的可靠協調系統;
•提供的功能包括:配置維護、名字服務、分佈式同步、組服務等;
•目標就是封裝好複雜易出錯的關鍵職務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶;
•Zookeeper已經成爲Hadoop生態系統中的基礎組件。
二、Zookeeper特點
•最終一致性:爲客戶端展示同一視圖,這是Zookeeper最重要的性能;
•可靠性:如果消息被一臺服務器接受,那麼它將被所有的服務器接受;
•原子性:更新只能成功或失敗,沒有中間狀態;
2.1 Zookeeper的安裝
•Zookeeper安裝前需要安裝好 JDK。配置好環境變量。
•下載:zookeeper-3.4.5-cdh5.7.0.tar.gz
•解壓
tar -zxvf zookeeper-3.4.5-cdh5.7.0.tar.gz -C ~/app/
•解壓後進入到 zookeeper目錄 找到conf目錄, 複製配置文件並編輯
cp zoo_sample.cfg zoo.cfg vi zoo.cfg
•在zoo.cfg中添加如下內容
dataDir=/home/hadoop/app/zookeeper-3.4.5-cdh5.7.0/data dataLogDir=/home/hadoop/app/zookeeper-3.4.5-cdh5.7.0/logs
•配置完畢後 進入bin目錄運行
./zkServer.sh start
•查看運行狀態
./zkServer.sh status JMX enabled by default Using config: /home/hadoop/app/zookeeper-3.4.5-cdh5.7.0/bin/../conf/zoo.cfg Mode: standalone
•停止運行
./zkServer.sh stop Using config: /home/hadoop/app/zookeeper-3.4.5-cdh5.7.0/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED
2.2 zoo.cfg配置
•tickTime: 用於計算的時間單位 比如session超時: N*tickTime
•initLimit: 用於集羣, 允許從節點連接並同步到master節點的初始化連接時間, 以tickTime的倍數來表示
•syncLimit: 用於集羣, master主節點與從節點之間發送消息, 請求和應答時間長度.(心跳機制)
•dataDir: 必須配置
•dataLogDir:日誌目錄, 如果不配置會和dataDir公用
•clientPort: 連接服務器的端口, 默認2181
2.3 Zookeeper主要目錄結構
•bin 主要的一些運行命令
•conf 存放配置文件, 其中需要修改的是zk.cfg
•contrib:附加的一些功能
•dist-maven: mvn編譯後的目錄
•docs:文檔
•lib: 需要依賴的jar包
•recipes:案例demo代碼
•src:源碼
總結
以上所述是小編給大家介紹的ZooKeeper的安裝及部署教程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對神馬文庫網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!