### 一、Zookeeper的介紹
Zookeeper是一個分布式的,開放源碼的分布式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、名字服務、分布式同步、組服務等。
之所以把本文歸類為Dubbo是因為,博主關于Dubbo的學習筆記都是以Zookeeper作為注冊中心的。
Zookeeper作為Dubbo服務的注冊中心,Dubbo原先基于數據庫的注冊中心,沒采用Zookeeper,Zookeeper一個分布式的服務框架,是樹型的目錄服務的數據存儲,能做到集群管理數據 ,這里能很好的作為Dubbo服務的注冊中心,Dubbo能與Zookeeper做到集群部署,當提供者出現斷電等異常停機時,Zookeeper注冊中心能自動刪除提供者信息,當提供者重啟時,能自動恢復注冊數據。
關于Zookeeper的部署,但是在生產環境中,你最好部署3,5,7個節點。部署的越多,可靠性就越高。但是,我們作為本地自己熟練使用,部署一個就夠了,部署一個Zookeeper是十分簡單的。下面是單機部署Zookeeper的實例。
### 二、Zookeeper的部署
2.1、 ZooKeeper的下載
官網可下載:[http://www.apache.org/dyn/closer.cgi/zookeeper/](http://www.apache.org/dyn/closer.cgi/zookeeper/)
當然,博主也將其上傳到了csdn上了,下載更方便哦:[http://download.csdn.net/detail/u013142781/9375686](http://download.csdn.net/detail/u013142781/9375686)
2.2、配置
下載后解壓,Zookeeper 的配置文件在 conf 目錄下,有 zoo_sample.cfg 和 log4j.properties,將zoo_sample.cfg 重命名成zoo.cfg,因為 Zookeeper 在啟動時會找這個文件作為默認配置文件。
下面介紹zoo.cfg文件里面幾個配置的意義:
tickTime:這個時間是作為 Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。
dataDir:顧名思義就是 Zookeeper 保存數據的目錄,默認情況下,Zookeeper 將寫數據的日志文件也保存在這個目錄里。
clientPort:這個端口就是客戶端連接 Zookeeper 服務器的端口,Zookeeper 會監聽這個端口,接受客戶端的訪問請求。
我們需要進行的操作是修改dataDir這個配置的值,我們在Zookeeper的根目錄下新建一個文件夾dataTmp,我的對應路徑為:D:\Zookeepertest\zookeeper-3.4.6\dataTmp
修改配置文件對應地方為(注意一定是雙\哦):
~~~
dataDir=D:\\Zookeepertest\\zookeeper-3.4.6\\dataTmp
~~~
2.3、運行
啟動Zookeeper目錄下bin下的zkServer.cmd,我的是D:\Zookeepertest\zookeeper-3.4.6\bin\zkServer.cmd:

啟動之后一直開著,不要關掉這個cmd,記得要在Dubbo消費者和提供者運行之前就開啟Zookeeper。
- 前言
- Maven入門(含實例教程)
- Spirng+SpringMVC+Maven+Mybatis+MySQL項目搭建
- Dubbo分布式服務框架入門(附工程)
- mybaits入門(含實例教程和源碼)
- Zookeeper注冊中心的搭建
- Maven+Mybatis+Spring+SpringMVC實現分頁查詢(附源碼)
- Spring中@Transactional事務回滾(含實例詳細講解,附源碼)
- RabbitMQ消息隊列入門篇(環境配置+Java實例+基礎概念)
- Spring+EhCache緩存實例(詳細講解+源碼下載)
- Redis+Spring緩存實例(windows環境,附實例源碼及詳解)
- VMware Ubuntu安裝詳細過程
- VMware Tools (ubuntu系統)安裝詳細過程與使用
- 程序員一年工作經驗之談
- Shiro安全框架入門篇(登錄驗證實例詳解與源碼)
- Spring Security安全框架入門篇