林炳文Evankaka原創作品。轉載請注明出處http://blog.csdn.net/evankaka
ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、名字服務、分布式同步、組服務等。
Dubbo是Alibaba開源的分布式服務框架,它最大的特點是按照分層的方式來架構,使用這種方式可以使各個層之間解耦合(或者最大限度地松耦合)。從服務模型的角度來看,Dubbo采用的是一種非常簡單的模型,要么是提供方提供服務,要么是消費方消費服務,所以基於這一點可以抽象出服務提供方(Provider)和服務消費方(Consumer)兩個角色。關於注冊中心、協議支持、服務監控等內容。
本機環境: JDK:1.8
Maven:apache-maven-3.2.1
zookeeper:zookeeper-3.4.6
Tomcat:apache-tomcat-7.0.62
Dubbo-admin:dubbo-admin-2.5.4-SNAPSHOT.war 這是我自己本地打包生成的(下載地址:http://download.csdn.net/detail/evankaka/9054273)
一、zookeeper安裝與啟動
首先需要安裝JdK,從Oracle的Java網站下載,安裝很簡單,就不再詳述。其中zookeeper的下載地址是http://www.apache.org/dyn/closer.cgi/zookeeper/,下載后直接解壓,不用安裝。
在你執行啟動腳本之前,還有幾個基本的配置項需要配置一下,Zookeeper 的配置文件在 conf 目錄下,這個目錄下有 zoo_sample.cfg 和 log4j.properties,你需要做的就是將 zoo_sample.cfg 改名為 zoo.cfg,因為 Zookeeper 在啟動時會找這個文件作為默認配置文件。下面詳細介紹一下,這個配置文件中各個配置項的意義。
- # 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:\\Java\\Tool\\zookeeper-3.4.6\\tmp
- # 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
把
- dataDir=/tmp/zookeeper
改成如下:
- <pre name="code" class="html">dataDir=D:\\Java\\Tool\\zookeeper-3.4.6\\tmp</pre>
這里可以改成自己喜歡的
其中,
- tickTime:這個時間是作為 Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。
- dataDir:顧名思義就是 Zookeeper 保存數據的目錄,默認情況下,Zookeeper 將寫數據的日志文件也保存在這個目錄里。
- dataLogDir:顧名思義就是 Zookeeper 保存日志文件的目錄
- clientPort:這個端口就是客戶端連接 Zookeeper 服務器的端口,Zookeeper 會監聽這個端口,接受客戶端的訪問請求。
- 當這些配置項配置好后,你現在就可以啟動 Zookeeper 了,啟動后要檢查 Zookeeper 是否已經在服務,可以通過 netstat – ano 命令查看是否有你配置的 clientPort 端口號在監聽服務
單機安裝非常簡單,只要獲取到 Zookeeper 的壓縮包並解壓到某個目錄如:D:\Java\Tool\zookeeper-3.4.6下,Zookeeper 的啟動腳本在 bin 目錄下,Windows 下的啟動腳本是bin文件下的如,D:\Java\Tool\zookeeper-3.4.6\bin\ zkServer.cmd。
啟動如下:
輸入JPS,出現如下,也說明啟動成功
上面的黑色框框不關,就表示注冊中心一直開關的,一定要記得注冊中心要在程序運行之前就打開,而且是一直開着的
二、Dubbo-admin管理平台的安裝
1.1、dubbo-admin 本地編譯打包
因為zookeeper只是一個黑框,我們無法看到是否存在了什么提供者或消費者,這時就要借助Dubbo-Admin管理平台來實時的查看,也可以通過這個平台來管理提者和消費者。
dubbo-admin.war可在網上百度去下載,但是我下載了好幾個war包,發布上去服務啟動都報錯,這個時候大概是我們系統的JDK和編譯dubbo-admin.war的JDK版本不同導致的了。所以我之后直接下載了dubbo-master的源代碼,然后自己編譯了一個war包,這樣就不會存在啟動報錯的問題了。(這里強烈建議自己編譯一個,網上找的基本都不行,試了很多個,最后還是自己來搞)其中自己電腦編譯的過程如下,一定在安裝maven和jdk!
dubbo的所有源碼可在https://github.com/alibaba/dubbo上下載。下好之后解壓
解壓后的文件內容,這里你其它的都不用去管,只管dubbo-admin.
因為這里只需要編譯Dubbo-Admin,所以打開Cmd,然后進入解壓路徑 E:\下載\dubbo-master\dubbo-master\dubbo-admin,有人把整個工程都編譯了,其實沒有必要,只需要編譯dubbo-admin即可,有什么依賴的,maven會自動幫你解決。整個過程如下:
首先,通過cmd進入目錄,輸入命令
然后輸入命令
- mvn package -Dmaven.skip.test=true
這里要自己把maven的環境變量配置好,這里的-Dmaven.skip.test表示不打包測試包。然后結果如下,表示打包成功
再打開項目的文件所在位置:E:\下載\dubbo-master\dubbo-master\dubbo-admin\target
target表示構建的本地路徑,打開,里面有個文件dubbo-admin-2.5.4-SNAPSHOT.war表示打包成功,這個文件得放在Tomcat下才能運行。
這里我已上傳這個war包,下載地址:http://download.csdn.net/detail/evankaka/9054273
1.2、dubbo-admin安裝
dubbo-admin已打包成功,接下來就容易很多了
1. 安裝
將 dubbo-admin-2.5.4-SNAPSHOT.war 拷入 tomcat webapps中
2. 配置
修改tomcat的端口8088,修改方法如下,打到conf下的文件 server.xml,因為zookeeper會用到8080的端口,所以為了不沖突,把Tomcat的端口改一下。記得一定要改!!!

然后修改
3、啟動一下Tomcat,讓它把war解壓了
過程如下
然后啟動
發現webapp下多了一個文件夾
再把 Tomcat給關了,直接stop,上面的按鈕
4、修改dubbo.properties
D:\Java\Tool\apache-tomcat-7.0.62\webapps\dubbo-admin-2.5.4-SNAPSHOT\WEB-INF
是否是如下內容:
- dubbo.registry.address=zookeeper://127.0.0.1:2181
- dubbo.admin.root.password=root
- dubbo.admin.guest.password=guest
如果是,就不用改,這里的127.0.0.1對應的是自己的電腦IP,因為這里zookeeper也在自己電腦上,所以要這么寫才行。一般情況下都是不需要改的,因為初始都是本地的IP地址。但還是看看比較安全
5. 訪問:
這下全部都配置好了,首先,一定要先啟動zookeeper啟動后再去啟動tomcat!一定要先啟動zookeeper啟動后再去啟動tomcat!一定要先啟動zookeeper啟動后再去啟動tomcat!重要的事情三遍!
啟動zookeeper
啟動tomcat
訪問http://localhost:8088/dubbo-admin-2.5.4-SNAPSHOT/ 一定要注意名一定要和你webapp下的工程名一樣!!
彈出如下:

輸入用戶名和密碼都是root
就會看到:
出現以下界面說明安裝配置成功,登錄密碼為root/root
這下子就大功告成了,可以開始來使用了~~~~~~~~
http://blog.csdn.net/evankaka/article/details/47858707