Dubbo的com.alibaba.dubbo.monitor.MonitorService提供者的问题
今天对集群做测试时发现消费者上一直抛这个错误:
[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×tamp=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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我也遇到了这个问题,不过我的提供者和注册中心中是正常的,然后看了监控中心的安装配置发现是监控中心服务停了
配置监控服务
一模一样的错误,但是我需要用到dubbo监控中心,所以不能注释,可有解决办法
留给后来者:
fix了,我在那个消费者中配置了监控中心的开关打开了,但是我不用监控中心,因此搜索不到服务提供者,抛异常,把从注册中心获取监控中心的地址的关掉(注释掉)即可,具体debug源码
com.alibaba.dubbo.registry.integration.RegistryDirectory.doList(RegistryDirectory.java:579)
回复
@500_Server_Error : dubbo自己的监控服务也是作为一种服务,注册到zookeeper上的,每次消费后,都会先找到监控服务的url发送服务调用参数给监控服务进行统计
这是哥监控,没有这个服务dubbo照样运行的。。。不过你可以配置好的。: Forbid consumer 192.168.0.109 access service 这个提示不是说了么