dubbo管理控制台找不到服务 解决小记

今天重新配置了下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文件,其内容如下:

dubbo.registry.address=zookeeper://192.168.199.191:2181?backup=192.168.199.192:2181,192.168.199.193:2181
dubbo.admin.root.password=Daniel
dubbo.admin.guest.password=guest
猛地发现registry没有配置group分组!自己之前在生产者和消费者的配置文件中也没有显式指明分组,默认的group就为dubbo。现在由于在服务提供的配置文件中对registry显式指明了group分组,因此管理控制台的配置中如果没有声明group与provider、consumer的group一致,那么就找不到对应的服务。
于是修改dubbo.properties文件,添加注册中心分组:

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内容如下:



        
                
                
                
                        
                                /WEB-INF/dubbo.properties
                                file://${user.home}/dubbo.properties
                        
                
        

        

        

        

        

        

        

        

        

        

        
                
                
        

        


可以看到,该文件竟然默认是没有registry的group属性的,因此只在dubbo.properties中添加分组配置根本不起作用。于是修改dubbo-admin.xml文件中的项为:

保存后重启tomcat实例,发现已经注册的服务提供者和消费者信息,一切OK!

dubbo管理控制台找不到服务 解决小记_第1张图片


下面把provider和consumer的主要配置信息也贴出来供大家参考:

provider.xml:

    
    
 
    
    
    
    
    
 
    
    
 	
    
     
consumer.xml:

  
    
 	
    
    
 	
  
  
 	
     
    

 
  



你可能感兴趣的:(Distributed,System)