Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kubenetes-dns-sample配置metaserver后,消费端没有正常运行 #398

Open
bensq2 opened this issue Dec 1, 2021 · 0 comments
Open

Comments

@bensq2
Copy link

bensq2 commented Dec 1, 2021

kubenetes-dns-sample配置metaserver后,provider可以正常运行,但是consumer无法正常运行
版本号:

zookeeper: 3.4.0
dubbo:  3.0.2.1
dubbo-metadata-report-zookeeper: 3.0.2.1
kubernetes: 1.20.1

provider配置文件config.properties:

dubbo.application.name=kubernetes-dns-demo-provider
dubbo.registry.address=dns://kube-dns.kube-system.svc.cluster.local:53?registry-type=service&duplicate=false&addressSuffix=.dubbo-demo.svc.cluster.local.
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
dubbo.application.qosEnable=true
dubbo.application.qosAcceptForeignIp=true
dubbo.metadata-report.address=zookeeper://127.0.0.1:2181
dubbo.metadata-report.retry-times=23
dubbo.metadata-report.retry-period=4590
dubbo.metadata-report.cycle-report=false

consumer配置文件:

dubbo.application.name=kubernetes-dns-demo-consumer
dubbo.registry.address=dns://kube-dns.kube-system.svc.cluster.local:53?registry-type=service&duplicate=false&addressSuffix=.dubbo-demo.svc.cluster.local.
dubbo.consumer.timeout=3000
dubbo.application.qosEnable=true
dubbo.application.qosAcceptForeignIp=true
dubbo.application.qosPort=33333
dubbo.metadata-report.address=zookeeper://127.0.0.1:2181
dubbo.metadata-report.retry-times=23
dubbo.metadata-report.retry-period=4590
dubbo.metadata-report.cycle-report=false

consumer 日志错误信息:

[01/12/21 02:29:56:056 UTC] main  INFO annotation.ReferenceAnnotationBeanPostProcessor: class org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor was destroying!
[01/12/21 02:29:56:056 UTC] main  INFO context.DubboConfigBeanInitializer: loading dubbo config beans ...
[01/12/21 02:29:56:056 UTC] main  INFO context.DubboConfigBeanInitializer: dubbo config beans are loaded.
[01/12/21 02:29:56:056 UTC] main  INFO context.ConfigManager:  [DUBBO] Dubbo config mode: STRICT, ignore duplicated interface: false, dubbo version: 1.0-SNAPSHOT, current host: 10.244.12.52
[01/12/21 02:29:56:056 UTC] main  INFO bootstrap.DubboBootstrap:  [DUBBO] No value is configured in the registry, the DynamicConfigurationFactory extension[name : dns] does not support as the config center, dubbo version: 1.0-SNAPSHOT, current host: 10.244.12.52
[01/12/21 02:29:56:056 UTC] main  INFO bootstrap.DubboBootstrap:  [DUBBO] The registry[<dubbo:registry address="dns://kube-dns.kube-system.svc.cluster.local:53?registry-type=service&duplicate=false&addressSuffix=.dubbo-demo.svc.cluster.local." protocol="dns" port="53" />] will be not used as the config center, dubbo version: 1.0-SNAPSHOT, current host: 10.244.12.52
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[01/12/21 02:29:57:057 UTC] main  INFO zookeeper.ZookeeperTransporter:  [DUBBO] No valid zookeeper client found from cache, therefore create a new client for url. zookeeper://127.0.0.1:2181/org.apache.dubbo.metadata.report.MetadataReport?application=kubernetes-dns-demo-consumer&cycle-report=false&port=2181&protocol=zookeeper&retry-period=4590&retry-times=23, dubbo version: 1.0-SNAPSHOT, current host: 10.244.12.52
[01/12/21 02:29:57:057 UTC] Curator-ConnectionStateManager-0  INFO curator.CuratorZookeeperClient:  [DUBBO] Curator zookeeper client instance initiated successfully, session id is 17bf4ab9f01119f, dubbo version: 1.0-SNAPSHOT, current host: 10.244.12.52
[01/12/21 02:29:57:057 UTC] main  INFO bootstrap.DubboBootstrap:  [DUBBO] DubboBootstrap has been initialized!, dubbo version: 1.0-SNAPSHOT, current host: 10.244.12.52
[01/12/21 02:29:57:057 UTC] main  INFO reference.ReferenceCreator: The configBean[type:ReferenceConfig] has been built.
[01/12/21 02:29:57:057 UTC] main  INFO bootstrap.DubboBootstrap:  [DUBBO] DubboBootstrap is starting..., dubbo version: 1.0-SNAPSHOT, current host: 10.244.12.52
[01/12/21 02:29:57:057 UTC] main  INFO server.Server:  [DUBBO] qos-server bind localhost:33333, dubbo version: 1.0-SNAPSHOT, current host: 10.244.12.52
[01/12/21 02:29:57:057 UTC] main  WARN migration.MigrationRuleListener:  [DUBBO] Using default configuration rule because config center is not configured!, dubbo version: 1.0-SNAPSHOT, current host: 10.244.12.52
[01/12/21 02:29:57:057 UTC] main  INFO metadata.MetadataServiceNameMapping:  [DUBBO] org.apache.dubbo.samples.api.GreetingService mapping to [kubernetes-dns-demo-provider1, kubernetes-dns-demo-provider] instructed by remote metadata center., dubbo version: 1.0-SNAPSHOT, current host: 10.244.12.52
[01/12/21 02:29:57:057 UTC] main  WARN metadata.StandardMetadataServiceURLBuilder:  [DUBBO] Metadata Service Port is not provided, since DNS is not able to negotiate the metadata port between Provider and Consumer, will try to use instance port as the default metadata port., dubbo version: 1.0-SNAPSHOT, current host: 10.244.12.52
Exception in thread "main" org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://10.244.12.52:20880/org.apache.dubbo.metadata.MetadataService?codec=dubbo&getAndListenInstanceMetadata.1.callback=true&group=kubernetes-dns-demo-provider&heartbeat=60000&reconnect=false&side=consumer&timeout=5000&version=1.0.0): client(url: dubbo://10.244.12.52:20880/org.apache.dubbo.metadata.MetadataService?codec=dubbo&getAndListenInstanceMetadata.1.callback=true&group=kubernetes-dns-demo-provider&heartbeat=60000&reconnect=false&side=consumer&timeout=5000&version=1.0.0) failed to connect to server /10.244.12.52:20880, error message is:Connection refused: /10.244.12.52:20880
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:625)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClient(DubboProtocol.java:589)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClientList(DubboProtocol.java:576)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getSharedClient(DubboProtocol.java:501)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getClients(DubboProtocol.java:433)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.protocolBindingRefer(DubboProtocol.java:410)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.refer(DubboProtocol.java:402)
	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:77)
	at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:70)
	at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:51)
	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:75)
	at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
	at org.apache.dubbo.registry.client.metadata.MetadataUtils.referProxy(MetadataUtils.java:141)
	at org.apache.dubbo.registry.client.metadata.MetadataUtils.lambda$getMetadataServiceProxy$1(MetadataUtils.java:98)
	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
	at org.apache.dubbo.registry.client.metadata.MetadataUtils.getMetadataServiceProxy(MetadataUtils.java:98)
	at org.apache.dubbo.registry.client.SelfHostMetaServiceDiscovery.fillServiceInstance(SelfHostMetaServiceDiscovery.java:226)
	at org.apache.dubbo.registry.dns.DNSServiceDiscovery.toServiceInstance(DNSServiceDiscovery.java:146)
	at org.apache.dubbo.registry.dns.DNSServiceDiscovery.getInstances(DNSServiceDiscovery.java:105)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:309)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:234)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:211)
	at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:106)
	at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:136)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:76)
	at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:515)
	at org.apache.dubbo.registry.integration.RegistryProtocol.getServiceDiscoveryInvoker(RegistryProtocol.java:493)
	at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:425)
	at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToForceApplicationInvoker(MigrationInvoker.java:202)
	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:76)
	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:42)
	at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:211)
	at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:486)
	at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:468)
	at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:453)
	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:74)
	at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:68)
	at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:51)
	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:73)
	at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
	at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:391)
	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:327)
	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:204)
	at org.apache.dubbo.config.utils.ReferenceConfigCache.lambda$get$3(ReferenceConfigCache.java:113)
	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
	at org.apache.dubbo.config.utils.ReferenceConfigCache.get(ReferenceConfigCache.java:112)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.lambda$referServices$12(DubboBootstrap.java:1459)
	at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4707)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.referServices(DubboBootstrap.java:1438)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.doStart(DubboBootstrap.java:1153)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:1119)
[01/12/21 02:29:57:057 UTC] main-EventThread  WARN metadata.StandardMetadataServiceURLBuilder:  [DUBBO] Metadata Service Port is not provided, since DNS is not able to negotiate the metadata port between Provider and Consumer, will try to use instance port as the default metadata port., dubbo version: 1.0-SNAPSHOT, current host: 10.244.12.52
	at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onContextRefreshedEvent(DubboBootstrapApplicationListener.java:109)
	at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onApplicationContextEvent(DubboBootstrapApplicationListener.java:101)
	at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onApplicationEvent(DubboBootstrapApplicationListener.java:78)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:393)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:347)
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:883)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
	at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:84)
	at org.apache.dubbo.samples.ConsumerBootstrap.main(ConsumerBootstrap.java:32)
Caused by: org.apache.dubbo.remoting.RemotingException: client(url: dubbo://10.244.12.52:20880/org.apache.dubbo.metadata.MetadataService?codec=dubbo&getAndListenInstanceMetadata.1.callback=true&group=kubernetes-dns-demo-provider&heartbeat=60000&reconnect=false&side=consumer&timeout=5000&version=1.0.0) failed to connect to server /10.244.12.52:20880, error message is:Connection refused: /10.244.12.52:20880
	at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:171)
	at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:197)
	at org.apache.dubbo.remoting.transport.AbstractClient.<init>(AbstractClient.java:72)
	at org.apache.dubbo.remoting.transport.netty4.NettyClient.<init>(NettyClient.java:84)
	at org.apache.dubbo.remoting.transport.netty4.NettyTransporter.connect(NettyTransporter.java:40)
	at org.apache.dubbo.remoting.Transporter$Adaptive.connect(Transporter$Adaptive.java)
	at org.apache.dubbo.remoting.Transporters.connect(Transporters.java:75)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger.connect(HeaderExchanger.java:39)
	at org.apache.dubbo.remoting.exchange.Exchangers.connect(Exchangers.java:109)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:621)
	... 62 more
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: /10.244.12.52:20880
Caused by: java.net.ConnectException: Connection refused
	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716)
	at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:330)
	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:707)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)

提示没有metaserver,但是已经配置了dubbo.metadata-report.address
请问哪里出了问题,应该怎么配置

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant