Dubbo的com.alibaba.dubbo.monitor.MonitorService提供者的问题

500_Server_Error 发布于 2016/07/17 17:27
阅读 17K+
收藏 1

【Gopher China万字分享】华为云的Go语言云原生实战经验!>>>

今天对集群做测试时发现消费者上一直抛这个错误:


[somnus][INFO] [2016-07-17 17:07:54] | [DUBBO] Send statistics to monitor zookeeper://127.0.0.1:2181/com.alibaba.dubbo.monitor.MonitorService?dubbo=2.5.3&interface=com.alibaba.dubbo.monitor.MonitorService&pid=9577&timestamp=1468745436458, dubbo version: 2.5.3, current host: 192.168.0.109
[somnus][ERROR] [2016-07-17 17:07:54] | [DUBBO] Unexpected error occur at send statistic, cause: Forbid consumer 192.168.0.109 access service com.alibaba.dubbo.monitor.MonitorService from registry 127.0.0.1:2181 use dubbo version 2.5.3, Please check registry access list (whitelist/blacklist)., dubbo version: 2.5.3, current host: 192.168.0.109
com.alibaba.dubbo.rpc.RpcException: Forbid consumer 192.168.0.109 access service com.alibaba.dubbo.monitor.MonitorService from registry 127.0.0.1:2181 use dubbo version 2.5.3, Please check registry access list (whitelist/blacklist).
at com.alibaba.dubbo.registry.integration.RegistryDirectory.doList(RegistryDirectory.java:579)
at com.alibaba.dubbo.rpc.cluster.directory.AbstractDirectory.list(AbstractDirectory.java:73)
at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.list(AbstractClusterInvoker.java:260)
at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:219)
at com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:72)
at com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:52)
at com.alibaba.dubbo.common.bytecode.proxy1.collect(proxy1.java)
at com.alibaba.dubbo.monitor.dubbo.DubboMonitor.send(DubboMonitor.java:113)
at com.alibaba.dubbo.monitor.dubbo.DubboMonitor$1.run(DubboMonitor.java:70)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)




我看了下源码,这个异常一般是服务没有provider的时候,把url的协议前缀去掉,再审核,然后再抛出,但是我定义的所有服务都是可以正常运行的,而且都有至少两个以上的提供者


然后我仔细看了下异常栈,发现是这个服务没有提供者。。。。。 com.alibaba.dubbo.monitor.MonitorService


卧槽。。。这个服务不是dubbo用来注册服务的吗。。。不正常我怎么跑系统啊。。。。我去管控台看了下。。。还真是这个服务没有提供者。。。。。你们也是这样的吗。。。


我注册中心是zookeeper集群,都是正常的,不知道什么情况,我配置错了,还是BUG?
加载中
0
Gillian_Male
Gillian_Male

这是哥监控,没有这个服务dubbo照样运行的。。。不过你可以配置好的。: Forbid consumer 192.168.0.109 access service 这个提示不是说了么

蓝胖胖-食人魔
回复 @500_Server_Error : dubbo自己的监控服务也是作为一种服务,注册到zookeeper上的,每次消费后,都会先找到监控服务的url发送服务调用参数给监控服务进行统计
5
500_Server_Error
我知道dubbo能运行,因为所有功能都能正常运行,我重新部署之后也是能正常运行,但就是报这个异常而已,即时在这个被禁止的消费者上也是可以正常调用的,不过就是抛异常,注册中心是zookeeper集群(3.4.0),dubbo是2.5.3,spring4.2.0,jdk8,平常都是正常的,今天重新部署就出问题了
1
5
500_Server_Error

留给后来者:

fix了,我在那个消费者中配置了监控中心的开关打开了,但是我不用监控中心,因此搜索不到服务提供者,抛异常,把从注册中心获取监控中心的地址的关掉(注释掉)即可,具体debug源码

com.alibaba.dubbo.registry.integration.RegistryDirectory.doList(RegistryDirectory.java:579)

0
htnn
htnn
一模一样的错误,但是我需要用到dubbo监控中心,所以不能注释,可有解决办法
蓝胖胖-食人魔
配置监控服务
0
Skqing
Skqing
<!--暂时关闭掉监控中心,如需要得先开启监控中心服务-->
<!--<dubbo:monitor protocol="registry"/>-->
0
女神645
女神645

我也遇到了这个问题,不过我的提供者和注册中心中是正常的,然后看了监控中心的安装配置发现是监控中心服务停了

返回顶部
顶部