com.alibaba.dubbo.rpc.RpcException: No provider available from registry stable.zk.scsite.net:21 예외 해결

원문 링크:https://copyfuture.com/blogs-details/20200629181409555v24mc4magq748ni
최근에 dubbo 소비단이 이런 error 로그를 계속 보고하는 것을 발견하였다
06-17 15:56:50.749  ERROR default - [orSendTimer-thread-1] c.alibaba.dubbo.monitor.dubbo.DubboMonitor :  [DUBBO] Unexpected error occur at send statistic, cause: No provider available from registry *.*.*.*:  for service com.alibaba.dubbo.monitor.MonitorService on consumer 172.*.*.124 use dubbo version 2.8.3, please check status of providers(disabled, not registered or in blacklist)., dubbo version: 2.8.3, current host: 172.*.*.124
com.alibaba.dubbo.rpc.RpcException: No provider available from registry stable.zk.scsite.net:2181 for service com.alibaba.dubbo.monitor.MonitorService on consumer 172.*.*.124 use dubbo version 2.8.3, please check status of providers(disabled, not registered or in blacklist).
	at com.alibaba.dubbo.registry.integration.RegistryDirectory.doList(RegistryDirectory.java:577)
	at com.alibaba.dubbo.rpc.cluster.directory.AbstractDirectory.list(AbstractDirectory.java:74)
	at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.list(AbstractClusterInvoker.java:271)
	at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:232)
	at com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:75)
	at com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:77)
	at com.alibaba.dubbo.common.bytecode.proxy19.collect(proxy19.java)
	at com.alibaba.dubbo.monitor.dubbo.DubboMonitor.send(DubboMonitor.java:127)
	at com.alibaba.dubbo.monitor.dubbo.DubboMonitor$1.run(DubboMonitor.java:72)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:308)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java)
	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:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

이 error는 프로젝트의 기능에 아무런 영향을 미치지 않지만, 반복적인 오류 보고도 짜증스럽다. 그럼 해결하자.

원인


감시 센터를 가동하지 않았는데 감시 주소를 맞추었다.

솔루션

  • 모니터링 센터를 가동하세요
  • xml을 설정합니다
  • properties 설정 중dubbo.monitor.protocol=registry 제거

  • dubbo:monitor


    모니터링 센터 구성대응하는 설정 클래스: org.apache.dubbo.config.MonitorConfig
    속성
    URL 매개 변수 대응
    유형
    필수 여부
    기본값
    작용
    묘사
    호환성
    protocol
    protocol
    string
    옵션
    dubbo
    서비스 관리
    모니터링 센터 프로토콜, 만약protocol="registry"라면 등록 센터에서 모니터링 센터 주소를 발견하고 그렇지 않으면 모니터링 센터에 직접 연결합니다.
    2.0.9 이상 버전
    address
    string
    옵션
    N/A
    서비스 관리
    직접 모니터링 센터 서버 주소,address="10.20.130.230:12080"
    1.0.16 이상 버전

    좋은 웹페이지 즐겨찾기