?
簡介
前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。
ZooKeeper的目標就是封裝好復雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
ZooKeeper包含一個簡單的原語集,提供Java和C的接口。
ZooKeeper代碼版本中,提供了分布式獨享鎖、選舉、隊列的接口,代碼在zookeeper-3.4.8\src\recipes。其中分布鎖和隊列有Java和C兩個版本,選舉只有Java版本。
ZooKeeper的目標就是封裝好復雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
ZooKeeper包含一個簡單的原語集,提供Java和C的接口。
ZooKeeper代碼版本中,提供了分布式獨享鎖、選舉、隊列的接口,代碼在zookeeper-3.4.8\src\recipes。其中分布鎖和隊列有Java和C兩個版本,選舉只有Java版本。
下載
Apache官網下載,詳情見:https://jingyan.baidu.com/article/6181c3e094266d152ef153da.html
(說明:第4步和第5步都可以任意選擇一個就行。)
? ? ?安裝
解壓到指定目錄下 ? ?D:\soft\zookeeper-3.4.8
? ? ? 修改zoo_sample.cfg 文件名(D:\soft\zookeeper-3.4.8\conf) 為 zoo.cfg
? ? ? 主要修改一下日志位置,具體配置文件如下:
[html]?view plain?copy
- #?The?number?of?milliseconds?of?each?tick??
- tickTime=2000??
- #?The?number?of?ticks?that?the?initial???
- #?synchronization?phase?can?take??
- initLimit=10??
- #?The?number?of?ticks?that?can?pass?between???
- #?sending?a?request?and?getting?an?acknowledgement??
- syncLimit=5??
- #?the?directory?where?the?snapshot?is?stored.??
- #?do?not?use?/tmp?for?storage,?/tmp?here?is?just???
- #?example?sakes.??
- dataDir=D:\\zookeeper\\data??
- dataLogDir=D:\\zookeeper\\log??
- #?the?port?at?which?the?clients?will?connect??
- clientPort=2181??
- #?the?maximum?number?of?client?connections.??
- #?increase?this?if?you?need?to?handle?more?clients??
- #maxClientCnxns=60??
- #??
- #?Be?sure?to?read?the?maintenance?section?of?the???
- #?administrator?guide?before?turning?on?autopurge.??
- #??
- #?http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance??
- #??
- #?The?number?of?snapshots?to?retain?in?dataDir??
- #autopurge.snapRetainCount=3??
- #?Purge?task?interval?in?hours??
- #?Set?to?"0"?to?disable?auto?purge?feature??
- #autopurge.purgeInterval=1??
配置文件簡單解析
1、tickTime:這個時間是作為 Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。2、dataDir:顧名思義就是 Zookeeper 保存數據的目錄,默認情況下,Zookeeper 將寫數據的日志文件也保存在這個目錄里。
3、dataLogDir:顧名思義就是 Zookeeper 保存日志文件的目錄
4、clientPort:這個端口就是客戶端連接 Zookeeper 服務器的端口,Zookeeper 會監聽這個端口,接受客戶端的訪問請求。
? ? ? ?啟動
進入到bin目錄,并且啟動zkServer.cmd,這個腳本中會啟動一個java進程
啟動后jps可以看到QuorumPeerMain的進程
也可以啟動客戶端連接一下
OK,安裝成功,很簡單