org.apache.dubbo 3.2.2 的一些报错。

16:12:35.164 [main] ERROR org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Model start failed: Dubbo Module[1.1.1] start failed: java.lang.NoSuchMethodError: org.apache.curator.framework.api.CreateBuilder.creatingParentContainersIfNeeded()Lorg/apache/curator/framework/api/ProtectACLCreateModePathAndBytesable;, dubbo version: 3.2.2, current host: 192.168.229.1, error code: 5-14. This may be caused by , go to https://dubbo.apache.org/faq/5/14 to find instructions. 
java.lang.NoSuchMethodError: org.apache.curator.framework.api.CreateBuilder.creatingParentContainersIfNeeded()Lorg/apache/curator/framework/api/ProtectACLCreateModePathAndBytesable;
	at org.apache.curator.x.discovery.details.ServiceDiscoveryImpl.internalRegisterService(ServiceDiscoveryImpl.java:222)
	at org.apache.curator.x.discovery.details.ServiceDiscoveryImpl.registerService(ServiceDiscoveryImpl.java:188)
	at org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscovery.doRegister(ZookeeperServiceDiscovery.java:101)
	at org.apache.dubbo.registry.client.AbstractServiceDiscovery.register(AbstractServiceDiscovery.java:143)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils.registerMetadataAndInstance(ServiceInstanceMetadataUtils.java:204)
	at org.apache.dubbo.config.deploy.DefaultApplicationDeployer.lambda$registerServiceInstance$5(DefaultApplicationDeployer.java:875)
	at org.apache.dubbo.metrics.event.MetricsEventBus.post(MetricsEventBus.java:80)
	at org.apache.dubbo.metrics.event.MetricsEventBus.post(MetricsEventBus.java:62)
	at org.apache.dubbo.config.deploy.DefaultApplicationDeployer.registerServiceInstance(DefaultApplicationDeployer.java:873)
	at org.apache.dubbo.config.deploy.DefaultApplicationDeployer.prepareApplicationInstance(DefaultApplicationDeployer.java:724)
	at org.apache.dubbo.config.deploy.DefaultApplicationDeployer.checkState(DefaultApplicationDeployer.java:1034)
	at org.apache.dubbo.config.deploy.DefaultApplicationDeployer.notifyModuleChanged(DefaultApplicationDeployer.java:1022)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.onModuleStarted(DefaultModuleDeployer.java:307)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:177)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:145)
	at org.apache.dubbo.config.deploy.DefaultApplicationDeployer.startModules(DefaultApplicationDeployer.java:706)
	at org.apache.dubbo.config.deploy.DefaultApplicationDeployer.doStart(DefaultApplicationDeployer.java:670)
	at org.apache.dubbo.config.deploy.DefaultApplicationDeployer.start(DefaultApplicationDeployer.java:643)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:227)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:216)
	at com.iwangding.core.dubbo.test.Server1.pubService1(Server1.java:45)
	at com.iwangding.core.dubbo.test.Server1.main(Server1.java:55)

16:08:54.658 [main] ERROR org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Model start failed: Dubbo Module[1.1.1] start failed: java.lang.NoClassDefFoundError: org/apache/curator/x/discovery/ServiceDiscoveryBuilder, dubbo version: 3.2.2, current host: 192.168.229.1, error code: 5-14. This may be caused by , go to https://dubbo.apache.org/faq/5/14 to find instructions. 
java.lang.NoClassDefFoundError: org/apache/curator/x/discovery/ServiceDiscoveryBuilder
	at org.apache.dubbo.registry.zookeeper.util.CuratorFrameworkUtils.buildServiceDiscovery(CuratorFrameworkUtils.java:64)
	at org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscovery.<init>(ZookeeperServiceDiscovery.java:84)
	at org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscoveryFactory.createDiscovery(ZookeeperServiceDiscoveryFactory.java:27)
	at org.apache.dubbo.registry.client.AbstractServiceDiscoveryFactory.lambda$getServiceDiscovery$0(AbstractServiceDiscoveryFactory.java:54)
	at org.apache.dubbo.common.utils.ConcurrentHashMapUtils.computeIfAbsent(ConcurrentHashMapUtils.java:44)
	at org.apache.dubbo.registry.client.AbstractServiceDiscoveryFactory.getServiceDiscovery(AbstractServiceDiscoveryFactory.java:54)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.getServiceDiscovery(ServiceDiscoveryRegistry.java:125)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.createServiceDiscovery(ServiceDiscoveryRegistry.java:112)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.<init>(ServiceDiscoveryRegistry.java:89)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryFactory.createRegistry(ServiceDiscoveryRegistryFactory.java:35)
	at org.apache.dubbo.registry.support.AbstractRegistryFactory.getRegistry(AbstractRegistryFactory.java:95)
	at org.apache.dubbo.registry.RegistryFactoryWrapper.getRegistry(RegistryFactoryWrapper.java:33)
	at org.apache.dubbo.registry.RegistryFactory$Adaptive.getRegistry(RegistryFactory$Adaptive.java)
	at org.apache.dubbo.registry.integration.RegistryProtocol.getRegistry(RegistryProtocol.java:414)
	at org.apache.dubbo.registry.integration.RegistryProtocol.export(RegistryProtocol.java:259)
	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.export(QosProtocolWrapper.java:80)
	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.export(ProtocolListenerWrapper.java:66)
	at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.export(ProtocolSecurityWrapper.java:83)
	at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.export(ProtocolFilterWrapper.java:58)
	at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.export(ProtocolSerializationWrapper.java:47)
	at org.apache.dubbo.rpc.protocol.InvokerCountWrapper.export(InvokerCountWrapper.java:42)
	at org.apache.dubbo.rpc.Protocol$Adaptive.export(Protocol$Adaptive.java)
	at org.apache.dubbo.config.ServiceConfig.doExportUrl(ServiceConfig.java:803)
	at org.apache.dubbo.config.ServiceConfig.exportRemote(ServiceConfig.java:781)
	at org.apache.dubbo.config.ServiceConfig.exportUrl(ServiceConfig.java:722)
	at org.apache.dubbo.config.ServiceConfig.doExportUrlsFor1Protocol(ServiceConfig.java:514)
	at org.apache.dubbo.config.ServiceConfig.lambda$doExportUrls$5(ServiceConfig.java:493)
	at org.apache.dubbo.metrics.event.MetricsEventBus.post(MetricsEventBus.java:80)
	at org.apache.dubbo.metrics.event.MetricsEventBus.post(MetricsEventBus.java:62)
	at org.apache.dubbo.config.ServiceConfig.doExportUrls(ServiceConfig.java:482)
	at org.apache.dubbo.config.ServiceConfig.doExport(ServiceConfig.java:453)
	at org.apache.dubbo.config.ServiceConfig.export(ServiceConfig.java:305)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.exportServiceInternal(DefaultModuleDeployer.java:393)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.exportServices(DefaultModuleDeployer.java:365)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:164)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:145)
	at org.apache.dubbo.config.deploy.DefaultApplicationDeployer.startModules(DefaultApplicationDeployer.java:706)
	at org.apache.dubbo.config.deploy.DefaultApplicationDeployer.doStart(DefaultApplicationDeployer.java:670)
	at org.apache.dubbo.config.deploy.DefaultApplicationDeployer.start(DefaultApplicationDeployer.java:643)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:227)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:216)
	at com.iwangding.core.dubbo.test.Server1.pubService1(Server1.java:45)
	at com.iwangding.core.dubbo.test.Server1.main(Server1.java:55)
Caused by: java.lang.ClassNotFoundException: org.apache.curator.x.discovery.ServiceDiscoveryBuilder
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	... 43 common frames omitted

以上两个报错,在pom.xml中增加:

		<!-- https://mvnrepository.com/artifact/org.javassist/javassist -->
		<dependency>
		    <groupId>org.javassist</groupId>
		    <artifactId>javassist</artifactId>
		    <version>3.29.2-GA</version>
		</dependency>
 		<!-- https://mvnrepository.com/artifact/org.apache.curator/curator-x-discovery-server -->
		<dependency>
		    <groupId>org.apache.curator</groupId>
		    <artifactId>curator-x-discovery-server</artifactId>
		    <version>5.5.0</version>
		</dependency>

多网卡时报(有vmware的网卡):No valid ip found from environment, try to get local host., dubbo version:

package com.iwangding.core.dubbo.test;

import static org.apache.dubbo.common.constants.QosConstants.QOS_PORT;
import static org.apache.dubbo.common.constants.QosConstants.QOS_HOST;

import java.util.HashMap;
import org.apache.dubbo.common.constants.CommonConstants;
import org.apache.dubbo.config.Constants;
import org.apache.dubbo.config.ProtocolConfig;
import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.config.bootstrap.DubboBootstrap;
import org.apache.dubbo.qos.common.QosConstants;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import com.iwangding.core.dubbo.DubboConfiguration;
import com.iwangding.core.dubbo.service.ITestProviderService;
import com.iwangding.core.dubbo.service.MyDubboConfig;
import com.iwangding.core.dubbo.service.TestProviderServiceImpl;

public class Server1 {
	static final String HOSTS = "192.168.1.61";
	public static void pubService1() {
		ProtocolConfig pCfg = new ProtocolConfig(CommonConstants.TRIPLE, 22022);
		//System.setProperty(pCfg.getName().toUpperCase()+"_"+CommonConstants.DUBBO_IP_TO_BIND, "0.0.0.0"); 会报错,说ip不可用
		pCfg.setHost(HOSTS);
//		pCfg.setHost("0.0.0.0");
//		pCfg.setName(CommonConstants.DUBBO);//协议名 不能改协议名,否则报错
//		pCfg.setNetworker(networker);
		pCfg.setExtProtocol(CommonConstants.DUBBO+",");
//		pCfg.setServer("192.168.10.105");

		ServiceConfig<ITestProviderService> service = new ServiceConfig<>();
        service.setInterface(ITestProviderService.class);
        service.setRef(new TestProviderServiceImpl());
        service.setGroup("dev");
        service.setVersion("1.0.0");
        service.setLoadbalance("roundrobin");
        service.setTimeout(5000);

        System.setProperty(pCfg.getName().toUpperCase()+"_"+Constants.DUBBO_IP_TO_REGISTRY, HOSTS);
//        System.setProperty(pCfg.getName().toUpperCase()+"_"+CommonConstants.DUBBO_IP_TO_BIND, "0.0.0.0"); //会报错,说0000不是有效ip

        HashMap<String, String> params = new HashMap<>();
        params.put(QOS_PORT, (QosConstants.DEFAULT_PORT+DubboConfiguration.id)+"");
        params.put(QOS_HOST, HOSTS);

//        params.put(CommonConstants.DUBBO_IP_TO_BIND, "0.0.0.0");
//        params.put(Constants.DUBBO_IP_TO_REGISTRY, HOSTS);

        service.setParameters(params);

//		service.setRegistry(registryConfig); 不要采用这两种方式,没用获取不到
//		service.setProtocol(pCfg); 不要采用这两种方式,没用获取不到

		// 启动 Dubbo
        DubboBootstrap.getInstance()
                .application("lein-test-dubbo")//"lein-dubbo-provider-"+DubboConfiguration.id
                .registry(MyDubboConfig.getRegisty())
                .protocol(pCfg)
                .service(service)
                .start()
                .await();
	}

	public static void main(String[] args) {
		DubboConfiguration.id = 1;
		AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(DubboConfiguration.class); 
		System.out.println("> Dubbo Server will context.start");
        context.start();
        pubService1();
        System.out.println("> Dubbo Server "+DubboConfiguration.id+" Started");
        
		while(DubboConfiguration.running) {
			try {
				Thread.sleep(3000);
			} catch(Exception e) {
				e.printStackTrace();
			}
		}
		context.close();
	}
}



public static RegistryConfig getRegisty() {
		RegistryConfig registryConfig = new RegistryConfig();
		registryConfig.setProtocol("zookeeper");
		registryConfig.setAddress("10.0.0.196");
		registryConfig.setPort(2181);
		registryConfig.setUsername("kafka");
		registryConfig.setPassword("ax1");
		
		return registryConfig;
	}
package com.iwangding.core.dubbo.test;

import static org.apache.dubbo.common.constants.QosConstants.QOS_HOST;
import static org.apache.dubbo.common.constants.QosConstants.QOS_PORT;

import java.io.IOException;
import java.util.HashMap;

import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ProtocolConfig;
import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.qos.common.QosConstants;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import com.iwangding.core.dubbo.DubboConfiguration;
import com.iwangding.core.dubbo.service.ITestProviderService;
import com.iwangding.core.dubbo.service.MyDubboConfig;
import com.iwangding.core.dubbo.service.TestProviderServiceImpl;

public class Server2 {
	static final String HOSTS = "192.168.1.61";
	private static void pubService2() {
		// 服务实现
        TestProviderServiceImpl demoService = new TestProviderServiceImpl();

        // 当前应用配置
        ApplicationConfig application = new ApplicationConfig();
        application.setName("demo-provider");
		
        // 服务提供者协议配置
        ProtocolConfig protocol = new ProtocolConfig();
        protocol.setName("tri");
        protocol.setPort(12345);
        protocol.setHost(HOSTS);
        protocol.setThreads(200);

        // 注意:ServiceConfig为重对象,内部封装了与注册中心的连接,以及开启服务端口
        // 服务提供者暴露服务配置
        ServiceConfig<ITestProviderService> service = new ServiceConfig<ITestProviderService>(); // 此实例很重,封装了与注册中心的连接,请自行缓存,否则可能造成内存和连接泄漏
        service.setApplication(application);
        service.setRegistry(MyDubboConfig.getRegisty()); // 多个注册中心可以用setRegistries()
        service.setProtocol(protocol); // 多个协议可以用setProtocols()
        service.setInterface(ITestProviderService.class);
        service.setRef(demoService);
        service.setGroup("dev");
        service.setVersion("1.0.0");
        service.setLoadbalance("roundrobin");
        service.setTimeout(5000);


        HashMap<String, String> params = new HashMap<>();
        params.put(QOS_PORT, (QosConstants.DEFAULT_PORT+DubboConfiguration.id)+"");
        service.setParameters(params);
        params.put(QOS_HOST, HOSTS);
        // 暴露及注册服务
        service.export();

        // 挂起等待(防止进程退出)
        try {
			System.in.read();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	public static void main(String[] args) {
		DubboConfiguration.id = 2;
		AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(DubboConfiguration.class); 
        context.start();

        System.out.println("> Dubbo Server "+DubboConfiguration.id+" Started");
        pubService2();
		while(DubboConfiguration.running) {
			try {
				Thread.sleep(3000);
			} catch(Exception e) {
				e.printStackTrace();
			}
		}
		context.close();
	}
}

java.lang.IllegalAccessError: tried to access method com.google.protobuf.LazyStringArrayList.emptyList()

java.lang.NoClassDefFoundError: com/google/protobuf/Message

这两个报错,看下面的pom.xml:


  <dependencies>
		<!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo -->
		<dependency>
		    <groupId>org.apache.dubbo</groupId>
		    <artifactId>dubbo</artifactId>
		    <version>3.2.2</version>
		</dependency>

		<dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java-util</artifactId>
            <version>3.9.2</version>
        </dependency>

		<!-- https://mvnrepository.com/artifact/org.javassist/javassist -->
		<dependency>
		    <groupId>org.javassist</groupId>
		    <artifactId>javassist</artifactId>
		    <version>3.29.2-GA</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.apache.curator/curator-x-discovery-server -->
		<dependency>
		    <groupId>org.apache.curator</groupId>
		    <artifactId>curator-x-discovery-server</artifactId>
		    <version>5.5.0</version>
		</dependency>

		<!-- 主要是为了引入日志 -->
		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>3.8.1</version>
			<!--排除这个slf4j-log4j12-->
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>
	

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
org.apache.dubbo.remoting.RemotingException是一个Dubbo框架提供的远程通信异常类。当在Dubbo服务之间进行远程通信时,如果出现通信中断、连接超时或其他网络相关问题,就会抛出该异常。通常,该异常会提供一些详细的错误信息,以便排查和解决问题。 要解决这个异常,你可以检查以下几个方面: 1. 网络连接是否正常:确保Dubbo服务之间的网络连接正常,并且没有任何阻塞或中断情况。可以通过检查防火墙设置、网络配置等来确认网络连接是否正常。 2. 服务提供者是否可用:确保Dubbo服务提供者正常运行并可访问。可以检查服务提供者的日志和运行状态,以确定是否存在问题。 3. 服务消费者配置是否正确:确认Dubbo服务消费者的配置是否正确,包括注册中心地址、服务接口等信息。可以检查消费者端的配置文件或代码,确保与提供者的配置一致。 4. Dubbo版本兼容性:确保Dubbo版本在服务提供者和消费者之间是兼容的。不同的Dubbo版本可能会有不同的协议和序列化方式,如果版本不兼容可能会导致通信异常。 5. 日志和错误信息:查看Dubbo服务提供者和消费者的日志,检查是否有其他错误信息或异常堆栈,以便更好地定位问题并解决。 以上是一些常见的排查步骤,希望对你解决该异常有所帮助。如果问题仍然存在,请提供更多的错误信息和具体情况,以便更好地帮助你解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值