【Dubbo&&Zookeeper】2、 dubbo-admin管理平臺搭建

来源:http://www.cnblogs.com/wangzhongqiu/archive/2017/03/25/6611658.html
-Advertisement-
Play Games

轉自:http://blog.csdn.net/wushiwude/article/details/55101631 一、前言 dubbo的使用,其實只需要有註冊中心,消費者,提供者這三個就可以使用了,但是並不能看到有哪些消費者和提供者,為了更好的調試,發現問題,解決問題,因此引入dubbo-adm ...


轉自:http://blog.csdn.net/wushiwude/article/details/55101631

一、前言

dubbo的使用,其實只需要有註冊中心,消費者,提供者這三個就可以使用了,但是並不能看到有哪些消費者和提供者,為了更好的調試,發現問題,解決問題,因此引入dubbo-admin。通過dubbo-admin可以對消費者和提供者進行管理。

二、下載與配置打包

dubbo-admin的下載,可自行到官網下載:https://github.com/alibaba/dubbo 
當然,這裡小寶鴿也上傳到了csdn,猿友們可到這裡下載,更加方便快捷哦: 
http://download.csdn.net/detail/u013142781/9375988

下載下來是這樣的一個目錄結構:

這裡寫圖片描述

但是這裡我們只關心dubbo-admin這個文件夾。

其實下麵所謂配置的目的就是為了得到war包,war包網上也有,但是下載了很多下來都會有問題,原因可能是每個人的電腦jdk版本或其他環境不一樣,因此我們自己打包一個war就好。

打包war包,進入dubbo-admin這個文件目錄 運行命令:

mvn package -Dmaven.skip.test=true
  • 1
  • 1

這裡寫圖片描述

如果看到如下結果,說明打包成功了:

這裡寫圖片描述

 

如果打包好後放入Tomcat啟動報錯:

1.錯誤:ERROR context.ContextLoader - Context initialization failed org.springframework.beans.factory.BeanCreationException:
2.主要原因:主要是由於jdk8不能正常運行,切換成jdk8一下的可以運行
3.jdk8解決辦法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
修改pom.xml文件
1、webx的依賴改為3.1.6版;

    <dependency>
        <groupId>com.alibaba.citrus</groupId>
        <artifactId>citrus-webx-all</artifactId>
        <version>3.1.6</version>
    </dependency>
2、添加velocity的依賴,我用了1.7;

    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>1.7</version>
    </dependency>
3、對依賴項dubbo添加exclusion,避免引入舊spring

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>dubbo</artifactId>
        <version>${project.parent.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
參考於:https://github.com/alibaba/dubbo/issues/50

我的pom.xml文件

 

修改dubbo-admin的pom文件,這個文件可以被正常打包,支持jdk1.7,jdk1.8

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.alibaba</groupId>
		<artifactId>dubbo-parent</artifactId>
		<version>2.5.4-SNAPSHOT</version>
	</parent>
	<artifactId>dubbo-admin</artifactId>
	<packaging>war</packaging>
	<name>${project.artifactId}</name>
	<description>The admin module of dubbo project</description>
	<properties>
		<wtpversion>1.5</wtpversion>
		<wtpContextName>/</wtpContextName>
		<eclipse.useProjectReferences>false</eclipse.useProjectReferences>
		<skip_maven_deploy>false</skip_maven_deploy>
	</properties>
	<dependencies>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>2.5.3</version>
			 <exclusions>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring</artifactId>
            </exclusion>
        </exclusions>
		</dependency>
		<dependency>
			<groupId>com.alibaba.citrus</groupId>
			<artifactId>citrus-webx-all</artifactId>
			 <version>3.1.6</version>
		</dependency>
		<dependency>
			<groupId>org.javassist</groupId>
			<artifactId>javassist</artifactId>
		</dependency>
		<dependency>
			<groupId>org.jboss.netty</groupId>
			<artifactId>netty</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.mina</groupId>
			<artifactId>mina-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.glassfish.grizzly</groupId>
			<artifactId>grizzly-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
		</dependency>
		<dependency>
			<groupId>com.thoughtworks.xstream</groupId>
			<artifactId>xstream</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.bsf</groupId>
			<artifactId>bsf-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
		</dependency>
		<dependency>
			<groupId>com.github.sgroschupf</groupId>
			<artifactId>zkclient</artifactId>
		</dependency>
		<dependency>
			<groupId>com.netflix.curator</groupId>
			<artifactId>curator-framework</artifactId>
		</dependency>
		<dependency>
			<groupId>com.googlecode.xmemcached</groupId>
			<artifactId>xmemcached</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.thrift</groupId>
			<artifactId>libthrift</artifactId>
		</dependency>
		<dependency>
			<groupId>com.caucho</groupId>
			<artifactId>hessian</artifactId>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
		</dependency>
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
		</dependency>
		<dependency>
			<groupId>javax.validation</groupId>
			<artifactId>validation-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId>
		</dependency>
		<dependency>
			<groupId>javax.cache</groupId>
			<artifactId>cache-api</artifactId>
		</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>${jetty_version}</version>
<configuration>
<contextPath>/</contextPath>
<scanIntervalSeconds>10</scanIntervalSeconds>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8080</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>
</plugins>
</build>
</project>

 

 

如果一直打包不成功,那麼直接下載博主的war試試吧,註意博主的jdk是1.7的,下載鏈接:

http://download.csdn.net/detail/u013142781/9376337

打包成功之後,就會發現dubbo-admin下多了個target文件夾,打開target文件夾,發現裡面有個war包:

這裡寫圖片描述

三、安裝dubbo-admin

第二步我們得到dubbo-admin-2.5.4-SNAPSHOT.war,下麵我們將這個war包部署到tomcat上。

把dubbo-admin-2.5.4-SNAPSHOT.war放到tomcat的webapps目錄下:

這裡寫圖片描述

然後打開tomcat的conf目錄下的server.xml文件,把啟動埠改成8090,因為zookeeper預設使用的是8080,以免衝突:

這裡寫圖片描述

啟動tomcat,讓它把war解壓了

這裡寫圖片描述

這裡寫圖片描述

如果一直提示unable to open the service ‘tomcat*’,那麼重新安裝一個tomcat(註意一定要使用tomcat安裝包,重新安裝,不是解壓可用那種),這裡提供window的安裝包下載:http://download.csdn.net/detail/u013142781/9376343

這裡寫圖片描述

tomcat的webapps裡面就會多了這個文件夾:

這裡寫圖片描述

然後就可以把tomcat stop了

打開剛剛tomcat解壓生成的dubbo.properties,我的在Tomcat 7.0\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

知道root的密碼:root,guest的密碼:guest,待會登錄用到

四、下麵運行

如果還沒有配置Zookeeper的,請參考博主的另外一篇文章配置:http://blog.csdn.net/u013142781/article/details/50395650

先啟動zookeeper,然後在啟動tomcat,訪問地址:http://localhost:8090/dubbo-admin-2.5.4-SNAPSHOT/

這裡寫圖片描述

輸入剛剛的用戶名root和密碼root:

這裡寫圖片描述


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 字元串 在java中,字元串被作為String類型的對象處理。String類位於java.lang包中,預設情況下,該包被自動導入所有的程式。 創建String對象的方法: String對象創建後不能被修改,是不可變的,所謂的修改其實是創建了新的對象,所指向的記憶體空間不同。 如果需要一個可以改變的字 ...
  • 一、準備所需的jar包 1.1所需jar包 1.Spring框架jar包 2.Mybatis框架jar包 3.Spring的AOP事務jar包 4.Mybatis整合Spring中間件jar包 5.aspectj框架jar包 6.aop聯盟jar包 7.資料庫驅動jar包 8.數據源c3p0所需ja ...
  • 額,,,, 前幾天,剛開始玩力熱實驗, 卻沒想到,平時愛玩的實驗誤差分析的不確定度竟然計算那麼複雜,連夜寫了一段代碼, (大佬勿噴,物理專業的小白剛自學,應該也沒人看。。。) 為了以後我用著方便,都寫成了函數塊,接下來會隨著實驗作業和Java的學習,繼續完善 (現在,不明白的是,兩組數,在定義的函數 ...
  • 此文章是基於 EasyUI+Knockout實現經典表單的查看、編輯 一. 準備工作 1. 點擊此下載相關文件,並把文件放到 ims 工程對應的文件夾下 二. 相關文件介紹 1. user.jsp:用戶管理界面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...
  • Apache Thrift 是 Facebook 實現的一種高效的、支持多種編程語言的遠程服務調用的框架。 安裝thrift 從官網下載 然後按照./configure,make,make install 方式進行安裝,其他系統可以參照官網http://thrift.apache.org/docs/ ...
  • 下圖為測試結果: ...
  • 昨天沒有更新,特此來說明下原因,昨天回到家時已經甚晚,正逢公司這幾天項目比較緊張(bug多,趕需求,看著bug單齊刷刷的轉過來,心都顫抖了一下),沒有及時準備素材,今天又加了一天班(現在還在公司,偷個空隙趕緊發博,哈哈哈),所以昨晚沒有更博。 今天在改bug的時候發現瞭如圖的小問題,來分享一下,主要 ...
  • matplotlib實際上是一套面向對象的繪圖庫,它所繪製的圖表中的每個繪圖元素,例如線條Line2D、文字Text、刻度等在記憶體中都有一個對象與之對應。為了方便快速繪圖matplotlib通過pyplot模塊提供了一套和MATLAB類似的繪圖API,將眾多繪圖對象所構成的複雜結構隱藏在這套API內 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...