[apache/dubbo]dubbo消费者处老是抛服务禁止的异常,但是不影响正常使用

2024-05-30 791 views
4

[ERROR] [2016-07-17 15:30:58] | [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)

途中我把zookeeper集群的其中一个节点关闭再重开就出现这种状况了,看了下源码也看不出什么眉头,但是也不影响正常使用,就是一直报错

回答

2

找不到MonitorService,可以去注册中心看看这个服务是否有注册,估计是simple-monitor服务没启动。

3

我根本没启动simple-monitor,或者说没安装,使用dubbo一定要安装simple-monitor吗

1

已经找到原因了:

留给后来者: 因为我在消费者那里,在注册中心发现监控中心的开关打开了,而我不需要监控中心,因此我根本没有这个服务的提供者,所以会一直报这个异常,但是不影响运行,如果不想报此异常,只要把该配置注释掉,或者开启监控中心服务即可

7

有解决的么

7

我现在遇到的问题是,在test环境可以使用,但是在stage环境报这个错误,,,是不是配置的问题?

5

记下了。

5

错误原因:dubbo源码剖析http://blog.sina.com.cn/s/blog_4adc4b090102x12u.html 是zookeeper发现相关服务接口不存在提供者的时候,禁用了消费者调用该服务接口。

4
dubbo:
  application:
    name: dubbo-consumer  # 应用名称
    owner: aggerChen      # 应用所属者
    organization: agger   # 应用所属组织
  registry:
    id: zookeeper-registry #注册中心id
    protocol: zookeeper    #注册中心协议
    address: zookeeper://127.0.0.1:2181 #注册中心地址
#  monitor:
#    protocol: registry # 注册监控中心