系统环境参考上一篇的服务搭建 Dubbo 3.0.3 + Nacos 2.0.3 + Spring Boot 2.3.6.RELEASE 整合及使用时遇到的问题
参考本地的配置方式,将容器云环境的服务中的配置文件进行配置替换后,启动并没有想象的那么顺利,服务启动后程序出现如下错误。
2022-01-05 10:38:43.565 ERROR 1 --- [Report-thread-1] o.a.d.m.store.nacos.NacosmetadataReport : [DUBBO] Failed to put org.apache.dubbo.metadata.report.identifier.metadataIdentifier@9d736c2 to nacos {"parameters":{"version":"1.0.0","side":"provider","interface":"org.apache.dubbo.metadata.metadataService","group":"dubbo-demo-consumer","metadata-type":"remote","application":"dubbo-demo-consumer","dubbo":"2.0.2","release":"3.0.5","anyhost":"true","methods":"getExportedURLs,getAndListenInstancemetadata,toURLs,serviceName,ismetadataServiceURL,getSubscribedURLs,version,getExportedServiceURLs,exportInstancemetadata,getmetadataInfo,toSortedStrings,getmetadataInfos,getServiceDefinition,getInstancemetadataChangedListenerMap","deprecated":"false","getAndListenInstancemetadata.sent":"true","qos.enable":"false","generic":"false","getAndListenInstancemetadata.1.callback":"true","revision":"3.0.5","delay":"0","getAndListenInstancemetadata.return":"true","background":"false","dynamic":"true","executes":"100","qos.accept.foreign.ip":"false","connections":"1"},"canonicalName":"org.apache.dubbo.metadata.metadataService","codeSource":"jar:file:/opt/ucp-intranet-api.jar!/BOOT-INF/lib/dubbo-3.0.5.jar!/","methods":[{"name":"serviceName","parameterTypes":[],"returnType":"java.lang.String","annotations":[]},{"name":"getExportedURLs","parameterTypes":["java.lang.String"],"returnType":"java.util.SortedSetu003cjava.lang.Stringu003e","annotations":[]},{"name":"getExportedURLs","parameterTypes":["java.lang.String","java.lang.String"],"returnType":"java.util.SortedSetu003cjava.lang.Stringu003e","annotations":[]},{"name":"getExportedURLs","parameterTypes":["java.lang.String","java.lang.String","java.lang.String"],"returnType":"java.util.SortedSetu003cjava.lang.Stringu003e","annotations":[]},{"name":"getExportedURLs","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String"],"returnType":"java.util.SortedSetu003cjava.lang.Stringu003e","annotations":[]},{"name":"getExportedURLs" ,"parameterTypes":[],"returnType":"java.util.SortedSetu003cjava.lang.Stringu003e","annotations":[]},{"name":"getSubscribedURLs","parameterTypes":[],"returnType":"java.util.SortedSetu003cjava.lang.Stringu003e","annotations":[]},{"name":"getExportedServiceURLs","parameterTypes":[],"returnType":"java.util.Setu003corg.apache.dubbo.common.URLu003e","annotations":[]},{"name":"getmetadataInfo","parameterTypes":["java.lang.String"],"returnType":"org.apache.dubbo.metadata.metadataInfo","annotations":[]},{"name":"getmetadataInfos","parameterTypes":[],"returnType":"java.util.Mapu003cjava.lang.String,org.apache.dubbo.metadata.metadataInfou003e","annotations":[]},{"name":"getServiceDefinition","parameterTypes":["java.lang.String"],"returnType":"java.lang.String","annotations":[]},{"name":"getServiceDefinition","parameterTypes":["java.lang.String","java.lang.String","java.lang.String"],"returnType":"java.lang.String","annotations":[]},{"name":"exportInstancemetadata","parameterTypes":["java.lang.String"],"returnType":"void","annotations":[]},{"name":"getInstancemetadataChangedListenerMap","parameterTypes":[],"returnType":"java.util.Mapu003cjava.lang.String,org.apache.dubbo.metadata.InstancemetadataChangedListeneru003e","annotations":[]},{"name":"getAndListenInstancemetadata","parameterTypes":["java.lang.String","org.apache.dubbo.metadata.InstancemetadataChangedListener"],"returnType":"java.lang.String","annotations":[]},{"name":"version","parameterTypes":[],"returnType":"java.lang.String","annotations":[]}],"types":[{"type":"void"},{"type":"org.apache.dubbo.metadata.metadataInfo","properties":{"app":"java.lang.String","services":"java.util.Mapu003cjava.lang.String,org.apache.dubbo.metadata.metadataInfo.ServiceInfou003e","revision":"java.lang.String"}},{"type":"long[]","items":["long"]},{"type":"java.util.Mapu003cjava.lang.String,java.util.Mapu003cjava.lang.String,java.lang.Stringu003eu003e","items":["java.lang.String","java.util.Mapu003cjava.lang.String,java.lang.Stringu003e"]},{"type":"org.apache.dubbo.metad ata.InstancemetadataChangedListener"},{"type":"java.util.Mapu003cjava.lang.String,java.lang.Objectu003e","items":["java.lang.String","java.lang.Object"]},{"type":"org.apache.dubbo.metadata.metadataInfo.ServiceInfo","properties":{"path":"java.lang.String","protocol":"java.lang.String","name":"java.lang.String","params":"java.util.Mapu003cjava.lang.String,java.lang.Stringu003e","version":"java.lang.String","group":"java.lang.String"}},{"type":"java.util.Mapu003cjava.lang.String,org.apache.dubbo.metadata.InstancemetadataChangedListeneru003e","items":["java.lang.String","org.apache.dubbo.metadata.InstancemetadataChangedListener"]},{"type":"java.lang.Integer"},{"type":"int"},{"type":"long"},{"type":"java.util.SortedSetu003cjava.lang.Stringu003e","items":["java.lang.String"]},{"type":"java.util.Setu003corg.apache.dubbo.common.URLu003e","items":["org.apache.dubbo.common.URL"]},{"type":"java.util.Mapu003cjava.lang.String,org.apache.dubbo.metadata.metadataInfou003e","items":["java.lang.String","org.apache.dubbo.metadata.metadataInfo"]},{"type":"org.apache.dubbo.common.url.component.URLParam","properties":{"hashCodeCache":"int","DEFAULT_KEY":"java.util.BitSet","enableCompressed":"boolean","VALUE":"java.lang.Integer[]","EXTRA_PARAMS":"java.util.Mapu003cjava.lang.String,java.lang.Stringu003e","rawParam":"java.lang.String","KEY":"java.util.BitSet","METHOD_PARAMETERS":"java.util.Mapu003cjava.lang.String,java.util.Mapu003cjava.lang.String,java.lang.Stringu003eu003e"}},{"type":"org.apache.dubbo.common.URL","properties":{"hashCodeCache":"int","attributes":"java.util.Mapu003cjava.lang.String,java.lang.Objectu003e","urlAddress":"org.apache.dubbo.common.url.component.URLAddress","urlParam":"org.apache.dubbo.common.url.component.URLParam"}},{"type":"java.util.Mapu003cjava.lang.String,org.apache.dubbo.metadata.metadataInfo.ServiceInfou003e","items":["java.lang.String","org.apache.dubbo.metadata.metadataInfo.ServiceInfo"]},{"type":"java.lang.Integer[]","items":["java.lang.Integer"]},{"type":"boolean"},{"type":"org .apache.dubbo.common.url.component.URLAddress","properties":{"port":"int","host":"java.lang.String"}},{"type":"java.lang.Object"},{"type":"java.lang.String"},{"type":"java.util.BitSet","properties":{"words":"long[]"}},{"type":"java.util.Mapu003cjava.lang.String,java.lang.Stringu003e","items":["java.lang.String","java.lang.String"]}],"annotations":[]}, cause: publish nacos metadata failed, dubbo version: 3.0.5, current host: 172.16.72.172 java.lang.RuntimeException: publish nacos metadata failed at org.apache.dubbo.metadata.store.nacos.NacosmetadataReport.storemetadata(NacosmetadataReport.java:293) [dubbo-3.0.5.jar!/:3.0.5] at org.apache.dubbo.metadata.store.nacos.NacosmetadataReport.doStoreProvidermetadata(NacosmetadataReport.java:169) [dubbo-3.0.5.jar!/:3.0.5] at org.apache.dubbo.metadata.report.support.AbstractmetadataReport.storeProvidermetadataTask(AbstractmetadataReport.java:261) [dubbo-3.0.5.jar!/:3.0.5] at org.apache.dubbo.metadata.report.support.AbstractmetadataReport.lambda$storeProvidermetadatanacos服务未开启安全认证将不受到影响(AbstractmetadataReport.java:248) [dubbo-3.0.5.jar!/:3.0.5] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_261] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_261] at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_261]
产生上述错误的原因是:(metadata-report)
1、环境上开启了nacos 的安全认证
2、配置文件中未对 元数据配置中心进行安全配置
3、配置文件中未对 元数据配置中心进namespace 隔离配置
故这三种情况将会导致服务无法注册到nacos中,也无法从nacos中获取到provider提供的服务接口
解决方案:
对dubbo 的元数据中心(
dubbo: # 配置元数据中心 metadata-report: address: nacos://127.0.0.1:8848 username: test password: 123456 # 配置 namespace,有namespace需要指定namespace parameters: namespace: 88b66463-1685-40b3-ba9c-7b25e526dcfb # 配置 隔离组,有配置 group 的需要指定 group group: ucp)进行如下配置
写的不好,欢迎大佬们指正!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)