1. 程式人生 > >Dubbo_異常_服務註冊執行正常但是Dubbo-Admin看不到服務

Dubbo_異常_服務註冊執行正常但是Dubbo-Admin看不到服務

今天重新配置了下dubbo,結果發現管理控制檯上沒有顯示可用的服務,由於前陣子剛配置的時候是沒有問題的,於是開始逐步排查。

專案註冊中心用的zookeeper叢集,provider是採用jar包方式啟動的,consumer在tomcat容器內執行,並且consumer已經可以消費到provider提供的服務了,說明註冊中心已經裡面已經有服務註冊。通過zookeeper客戶端連線到zk伺服器上,也可以看到建立的服務節點


根目錄下有paopao,zookeeper兩個目錄,其中paopao是根據配置中註冊中心registry的group屬性分組標識而建立的,zookeeper是zk預設的節點,paopao下面有兩個已經註冊的服務節點。

然後檢視dubbo-admin的配置,dubbo的管理控制檯是在單獨的tomcat下執行的,安裝及配置可以參考http://dubbo.io/Administrator+Guide-zh.htm,找到webapps/ROOT/WEB-INF/dubbo.properties檔案,其內容如下:

  1. dubbo.registry.address=zookeeper://192.168.199.191:2181?backup=192.168.199.192:2181,192.168.199.193:2181  
  2. dubbo.admin.root.password=Daniel  
  3. dubbo.admin.guest.password=guest  
猛地發現registry沒有配置group分組!自己之前在生產者和消費者的配置檔案中也沒有顯式指明分組,預設的group就為dubbo。現在由於在服務提供的配置檔案中對registry顯式指明瞭group分組,因此管理控制檯的配置中如果沒有宣告group與provider、consumer的group一致,那麼就找不到對應的服務。
於是修改dubbo.properties檔案,添加註冊中心分組:
  1. dubbo.registry.group=paopao  
滿懷著激動的心情重啟了服務,結果發現管理臺介面還是沒有找到服務!然後上網查詢但是無奈網上dubbo相關的文件和討論真的太少了,後來經群裡一個朋友的提醒,查看了${TOMCAT_HOME}/webapps/ROOT/WEB-INF/classes/META-INF/spring下的dubbo-admin.xml檔案,dubbo管理控制檯在啟動的時候會載入該xml檔案並讀取裡面的配置資訊初始化dubbo和zookeeper,dubbo-admin.xml內容如下:
  1. <beansxmlns="http://www.springframework.org/schema/beans"
  2.         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.         xmlns:context="http://www.springframework.org/schema/context"
  4.         xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
  5.         xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
  6.                 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd  
  7.                 http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
  8.         <beanclass="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  9.                 <propertyname="systemPropertiesModeName"value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
  10.                 <propertyname="ignoreResourceNotFound"value="true"/>
  11.                 <propertyname="locations">
  12.                         <list>
  13.                                 <value>/WEB-INF/dubbo.properties</value>
  14.                                 <value>file://${user.home}/dubbo.properties</value>
  15.                         </list>
  16.                 </property>
  17.         </bean>
  18.         <dubbo:applicationname="dubbo-admin"/>
  19.         <dubbo:registryaddress="${dubbo.registry.address}"check="false"file="false"/>
  20.         <dubbo:referenceid="registryService"interface="com.alibaba.dubbo.registry.RegistryService"check="false"/>
  21.         <beanid="configService"class="com.alibaba.dubbo.governance.service.impl.ConfigServiceImpl"/>
  22.         <beanid="consumerService"class="com.alibaba.dubbo.governance.service.impl.ConsumerServiceImpl"/>
  23.         <beanid="overrideService"class="com.alibaba.dubbo.governance.service.impl.OverrideServiceImpl"/>
  24.         <beanid="ownerService"class="com.alibaba.dubbo.governance.service.impl.OwnerServiceImpl"/>
  25.         <beanid="providerService"class="com.alibaba.dubbo.governance.service.impl.ProviderServiceImpl"/>
  26.         <beanid="routeService"class="com.alibaba.dubbo.governance.service.impl.RouteServiceImpl"/>
  27.         <beanid="userService"class="com.alibaba.dubbo.governance.service.impl.UserServiceImpl">
  28.                 <propertyname="rootPassword"value="${dubbo.admin.root.password}"/>
  29.                 <propertyname="guestPassword"value="${dubbo.admin.guest.password}"/>
  30.         </bean>
  31.         <beanid="governanceCache"class="com.alibaba.dubbo.governance.sync.RegistryServerSync"/>
  32. </beans>

可以看到,該檔案竟然預設是沒有registry的group屬性的,因此只在dubbo.properties中新增分組配置根本不起作用。於是修改dubbo-admin.xml檔案中的<dubbo:registry>項為:
  1. <dubbo:registrygroup="${dubbo.registry.group}"address="${dubbo.registry.address}"check="false"file="false"/>

儲存後重啟tomcat例項,發現已經註冊的服務提供者和消費者資訊,一切OK!


下面把provider和consumer的主要配置資訊也貼出來供大家參考:

provider.xml:

  1. <!-- 提供方應用資訊,用於計算依賴關係 -->
  2. <dubbo:applicationname="paopao-provider"/>
  3. <!-- 使用zookeeper註冊中心暴露服務地址 -->
  4. <dubbo:registrygroup="paopao"address="zookeeper://192.168.199.191:2181?backup=192.168.199.192:2181,192.168.199.193:2181"/>
  5. <!-- 監控中心配置,從註冊中心發現監控中心地址 -->
  6. <dubbo:monitorprotocol="registry"/>
  7. <!-- 用dubbo協議在20880埠暴露服務 -->
  8. <dubbo:protocolname="dubbo"port="20880"/>
  9. <!-- 掃描註解包路徑,多個包用逗號分隔,不填pacakge表示掃描當前ApplicationContext中所有的類 -->
  10. <dubbo:annotationpackage="com.zhilin.paopao.provider.service"/>
consumer.xml:
  1. <pre name="code" class="html">  <!-- 消費方應用名,用於計算依賴關係,不是匹配條件,不要與提供方一樣 -->  
  2.     <dubbo:application name="consumer-of-app"  />  
  3.     <!-- 使用zookeeper註冊中心暴露發現服務地址 -->  
  4.     <dubbo:registry group="paopao" address="zookeeper://192.168.199.191:2181?backup=192.168.199.192:2181,192.168.199.193:2181"/>  
  5.   <!-- 監控中心配置,從註冊中心發現監控中心地址 -->  
  6.   <dubbo:monitor protocol="registry"/>  
  7.     <!-- 生成遠端服務代理 -->   
  8.     <dubbo:reference version="1.0.0" id="userService" interface="com.zhilin.paopao.service.UserService" />  

相關推薦

Dubbo_異常_服務註冊執行正常但是Dubbo-Admin服務

今天重新配置了下dubbo,結果發現管理控制檯上沒有顯示可用的服務,由於前陣子剛配置的時候是沒有問題的,於是開始逐步排查。專案註冊中心用的zookeeper叢集,provider是採用jar包方式啟動的,consumer在tomcat容器內執行,並且consumer已經可以消費到provider提供的服務了,

Dubbo_異常_服務註冊執行正常但是Dubbo-Admin服務(親測可用)

今天重新配置了下dubbo,結果發現管理控制檯上沒有顯示可用的服務,由於前陣子剛配置的時候是沒有問題的,於是開始逐步排查。專案註冊中心用的zookeeper叢集,provider是採用jar包方式啟動的,consumer在tomcat容器內執行,並且consumer已經可以消費到provider提供的服務了,

VS中Debug版程式執行正常Release版執行時控制元件有異常(控制元件在執行時消失)的解決方法

#問題 首先用VS生成應用程式是正常的,然後點選最小化按鈕隱藏到下方工作列,然後再點選工作列這個圖示將應用程式還原出來,結果還原出來後應用程式下方的控制元件都無法顯示出來,這是release版本的,de

解決:Intellij idea匯入MyEclipse Web專案時,伺服器搭建執行正常,無法訪問WebRoot下的頁面

首先開啟如下頁面,並選中指定的選項: 有些使用者可能在選擇這個選項後,沒有我們的Web專案,解決方法: 選中+號,新增Web,並將自己的Web專案新增上去.這樣就可以跟我上面的圖資訊一樣. 在idea上面,預設的web根目錄時web,而MyEclipse預設的根目錄時W

Zabbix服務啟動正常,但是後臺服務和進程

Linux Zabbix 問題描述:安裝好Zabbix服務端後,啟動zabbix_server服務顯示OK狀態,並沒有顯示,但是你去後臺查詢它的服務狀態,監聽端口或者說進程缺查詢不到,就好像是假啟動一樣 問題分析:這種看似啟動成功,但又查詢不到他任何的啟動痕跡,其實啟動是已經啟動了,只不過並沒有配置好

Spring cloud Eureka服務註冊及發現(三)發現使用服務

Feign是一個宣告式的Web Service客戶端,它使得編寫Web Serivce客戶端變得更加簡單。我們只需要使用Feign來建立一個介面並用註解來配置它既可完成。具體Feign的解釋請看:Spring Cloud Feign詮釋 下面,通過一個例子

Spring Cloud Eureka 分散式開發之服務註冊中心、負載均衡、宣告式服務呼叫實現

介紹 本示例主要介紹 Spring Cloud 系列中的 Eureka,使你能快速上手負載均衡、宣告式服務、服務註冊中心等 Eureka Server Eureka 是 Netflix 的子模組,它是一個基於 REST 的服務,用於定位服務,以實現雲端中間層服務發現和故障轉移。 服務註冊和發現對於微服務架

jenkins主從從服務器發布腳本執行成功總提示失敗 FATAL: Remote call on XXXX failed

wid 版本 發現 remote 腳本 成功 分享 發布腳本 不同   主從jenkins當調用 slave 執行編譯腳本後提示如下錯誤,找了半天怎麽也沒有問題,後來忽然發現slave上java的版本和master不同,一個 1.8 一個 1.10,將slave降回1.8一

20181106_執行緒之異常_取消_變數_安全Lock

一. 執行緒的異常處理: try { TaskFactory taskFactory = new TaskFactory(); List<Task> taskList = new List<Ta

pycharm匯入本地檔案,程式執行正常匯入模組時出現紅色波浪線

pycharm匯入本地檔案,程式執行正常,但匯入模組時出現紅色波浪線,如下所示: 兩種解決辦法: (1)在檔案前面加“.” (2)點選選單欄的“PyCharm”, 然後選擇“Preferences”,接著依次執行以下操作,最後點選“OK”按鈕。 (3) 

客戶端直接執行儲存過程正常程式碼呼叫慢的問題

JAVA呼叫SQL後臺儲存過程時,有時突然就變得很慢,在後臺直接執行儲存過程沒問題,但在前臺呼叫儲存過程時就是很慢,而且在前臺呼叫成功後,再次呼叫還是一樣的慢,但更新一下儲存過程再呼叫就很快了。但這始終不能徹底解決問題,過段時間又會出來同樣的問題。 解決辦法: 簡單

linux下ssh專案執行異常、windows執行正常

linux  下報這個 錯誤  : HTTP Status 404 - No result defined for action com.action.CategoryNameAction and result input windows正常 .json是請求字尾 跟.

AS專案執行正常檢視程式碼飄紅the file size exceeds configured limit.

Android Studio 專案執行正常,但檢視程式碼飄紅,看著煩,按ctrl 點選飄紅的類,進不去 找到該類的包名全路徑,一步一步開啟該類,發現Android studio上有提示:the file size exceeds configured limit. 意思就是

spring事務、當業務中並沒有異常丟擲時執行一半的事務無法正常出發導致資料一致性遭到破壞、事務起作用

spring 事務:當所攔截的方法有指定錯誤丟擲的時候觸發事務的執行。 有些情況下正常開發的業務並沒有異常的發生、但是業務要求並沒有滿足的時候並不會有異常的產生。這個時候需要我們自己手動丟擲異常。觸發事務、保證資料的一致性。 手動丟擲異常有兩種方式: 一:手動丟擲異常:

Dubbo專案啟動後,沒有提供者。專案啟動日誌正常DUBBO服務啟動沒有註冊到zookeeper。

專案啟動日誌正常,DUBBO服務啟動沒有註冊到zookeeper。 檢視zookeeper日誌發現如下錯誤資訊: EndOfStreamException: Unable to read additional data from client sessi

今天發現python windows執行正常,linux下異常

#--coding:gb18030-- #filename:man_pon_alarms.py import pymysql.cursors import xlrd import os import time import glob # Connect to the mysql database #impor

Dubbo學習筆記001---分散式服務呼叫_Dubbo簡介_依賴zookeeper做為註冊中心進行服務註冊與發現

Dubbo是阿里巴巴SOA服務化治理方案的核心框架,每天為2,000+個服務提供3,000,000,000+次訪問量支援,並被廣泛應用於阿里巴巴集團的各成員站點。Dubbo是一個分散式服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,以及SOA服務治理方案。

sqoop接入kerberos安全認證後,本地執行正常提交到yarn上連線hive報錯: Unable to obtain password from user

日誌資訊: 2018-09-17 11:31:30,774 INFO [OutputFormatLoader-consumer] com.chinacreator.sqoop.connector.hive.HiveExecutor: 連線hive失敗java.io.IOExc

Spring Cloud Alibaba使用Nacos實現服務註冊與發現_

浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>   

《Spring Cloud Netflix》 -- 服務註冊服務發現-Eureka的常用配置

cti project ica 地址 cat 清理 class ict course 一、版本的說明 Angel版本對應Spring Boot 1.2.x,可以使用Spring Boot 1.3.x; Brixton版本對應Spring Boot 1.3.x,可以使用Spr