Dubbo升级3.0后,消费者无法通过zookeeper连接到提供者

时间:2021-06-28 02:54:19

标签: java apache-zookeeper apache-dubbo

我的项目以前是dubb2.7.8,现在因为当前版本存在高危漏洞,公司要求升级到3.0。但是升级后发现consumer无法与provider建立链接,错误提示我无权创建/services/*目录,于是手动去zookeeper所在的服务器创建/services目录,然后给zookeeper用户分配权限,但是启动consumer端时,还是报这个错误:无法创建/services目录/* *

java.lang.IllegalStateException: registerServiceWatcher create path=/services/dmc-index-provider fail.
    at org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscovery.registerServiceWatcher(ZookeeperServiceDiscovery.java:208) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscovery.lambda$addServiceInstancesChangedListener$4(ZookeeperServiceDiscovery.java:175) ~[dubbo-3.0.0.jar:3.0.0]
    at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_73]
    at org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscovery.addServiceInstancesChangedListener(ZookeeperServiceDiscovery.java:175) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.registerServiceInstancesChangedListener(ServiceDiscoveryRegistry.java:336) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:324) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:243) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:220) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:106) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:136) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:514) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol.getServiceDiscoveryInvoker(InterfaceCompatibleRegistryProtocol.java:65) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:426) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToApplicationFirstInvoker(MigrationInvoker.java:241) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:81) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:65) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:148) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:485) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:467) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:452) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:74) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:68) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:73) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:392) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:328) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:205) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.config.utils.ReferenceConfigCache.lambda$get$3(ReferenceConfigCache.java:114) ~[dubbo-3.0.0.jar:3.0.0]
    at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) ~[?:1.8.0_73]
    at org.apache.dubbo.config.utils.ReferenceConfigCache.get(ReferenceConfigCache.java:113) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.config.bootstrap.DubboBootstrap.lambda$referServices$8(DubboBootstrap.java:1342) ~[dubbo-3.0.0.jar:3.0.0]
    at java.util.HashMap$Values.forEach(HashMap.java:972) ~[?:1.8.0_73]
    at org.apache.dubbo.config.bootstrap.DubboBootstrap.referServices(DubboBootstrap.java:1321) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:1100) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onContextRefreshedEvent(DubboBootstrapApplicationListener.java:70) ~[dubbo-3.0.0.jar:3.0.0]
    at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onApplicationContextEvent(DubboBootstrapApplicationListener.java:63) ~[dubbo-3.0.0.jar:3.0.0]
    at com.alibaba.spring.context.OnceApplicationContextEventListener.onApplicationEvent(OnceApplicationContextEventListener.java:52) ~[spring-context-support-1.0.8.jar:?]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) ~[spring-context-5.3.3.jar:5.3.3]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) ~[spring-context-5.3.3.jar:5.3.3]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143) ~[spring-context-5.3.3.jar:5.3.3]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:426) ~[spring-context-5.3.3.jar:5.3.3]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:383) ~[spring-context-5.3.3.jar:5.3.3]
    at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:943) ~[spring-context-5.3.3.jar:5.3.3]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591) ~[spring-context-5.3.3.jar:5.3.3]
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401) ~[spring-web-5.3.3.jar:5.3.3]
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292) [spring-web-5.3.3.jar:5.3.3]
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) [spring-web-5.3.3.jar:5.3.3]
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4689) [catalina.jar:8.5.57]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5155) [catalina.jar:8.5.57]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:8.5.57]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1412) [catalina.jar:8.5.57]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1402) [catalina.jar:8.5.57]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_73]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_73]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_73]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_73]
Caused by: org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /services
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:116) ~[zookeeper-3.4.13.jar:3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03]
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:54) ~[zookeeper-3.4.13.jar:3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03]
    at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:792) ~[zookeeper-3.4.13.jar:3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03]
    at org.apache.curator.utils.ZKPaths.mkdirs(ZKPaths.java:291) ~[curator-client-4.0.1.jar:?]
    at org.apache.curator.framework.imps.CreateBuilderImpl$17.call(CreateBuilderImpl.java:1188) ~[curator-framework-4.0.1.jar:4.0.1]
    at org.apache.curator.framework.imps.CreateBuilderImpl$17.call(CreateBuilderImpl.java:1158) ~[curator-framework-4.0.1.jar:4.0.1]
    at org.apache.curator.connection.StandardConnectionHandlingPolicy.callWithRetry(StandardConnectionHandlingPolicy.java:64) ~[curator-client-4.0.1.jar:?]
    at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:100) ~[curator-client-4.0.1.jar:?]
    at org.apache.curator.framework.imps.CreateBuilderImpl.pathInForeground(CreateBuilderImpl.java:1155) ~[curator-framework-4.0.1.jar:4.0.1]
    at org.apache.curator.framework.imps.CreateBuilderImpl.protectedPathInForeground(CreateBuilderImpl.java:605) ~[curator-framework-4.0.1.jar:4.0.1]
    at org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:595) ~[curator-framework-4.0.1.jar:4.0.1]
    at org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:573) ~[curator-framework-4.0.1.jar:4.0.1]
    at org.apache.curator.framework.imps.CreateBuilderImpl$4.forPath(CreateBuilderImpl.java:461) ~[curator-framework-4.0.1.jar:4.0.1]
    at org.apache.curator.framework.imps.CreateBuilderImpl$4.forPath(CreateBuilderImpl.java:391) ~[curator-framework-4.0.1.jar:4.0.1]
    at org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscovery.registerServiceWatcher(ZookeeperServiceDiscovery.java:200) ~[dubbo-3.0.0.jar:3.0.0]
    ... 55 more

0 个答案:

没有答案