Caused by: com.alibaba.dubbo.rpc.RpcException: Failed to register dubbo://xx.xx.xx.xx:20880/com.czc.demo.dubbo.service.DemoService?anyhost=true&application=hello-world-app&dubbo=2.6.2&generic=false&interface=com.czc.demo.dubbo.service.DemoService&methods=sayHello&pid=12940&side=provider×tamp=1594880121826 to zookeeper zookeeper://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?application=hello-world-app&dubbo=2.6.2&interface=com.alibaba.dubbo.registry.RegistryService&pid=12940×tamp=1594880121799, cause: KeeperErrorCode = ConnectionLoss
at com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry.doRegister(ZookeeperRegistry.java:116)
at com.alibaba.dubbo.registry.support.FailbackRegistry.register(FailbackRegistry.java:131)
... 22 more
出现该错误的原因可能是Zookeeper配置的问题
再zk的conf文件夹中,复制一份zoo_sample.conf,并且改名为zoo.conf。然后配置两个项,注意文件路劲为 \\
dataDir=E:\\zookeeper-3.4.14\\data
dataLogDir=E:\\zookeeper-3.4.14\\log
使用maven建立一个简单的provider,引入依赖的时候需要注意版本的问题。
Caused by: java.lang.IllegalStateException: KeeperErrorCode = Unimplemented for /dubbo
at com.alibaba.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.createPersistent(CuratorZookeeperClient.java:79)
at com.alibaba.dubbo.remoting.zookeeper.support.AbstractZookeeperClient.create(AbstractZookeeperClient.java:65)
at com.alibaba.dubbo.remoting.zookeeper.support.AbstractZookeeperClient.create(AbstractZookeeperClient.java:59)
at com.alibaba.dubbo.remoting.zookeeper.support.AbstractZookeeperClient.create(AbstractZookeeperClient.java:59)
at com.alibaba.dubbo.remoting.zookeeper.support.AbstractZookeeperClient.create(AbstractZookeeperClient.java:59)
at com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry.doRegister(ZookeeperRegistry.java:114)
... 23 more
<!-- 引入dubbo -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.2</version>
</dependency>
<!-- 由于我们使用zookeeper作为注册中心,所以需要操作zookeeper
dubbo 2.6以前的版本引入zkclient操作zookeeper
dubbo 2.6及以后的版本引入curator操作zookeeper
下面两个zk客户端根据dubbo版本2选1即可
-->
<!--<dependency>-->
<!--<groupId>com.101tec</groupId>-->
<!--<artifactId>zkclient</artifactId>-->
<!--<version>0.10</version>-->
<!--</dependency>-->
<!-- curator-framework -->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>2.12.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.14</version>
</dependency>
具体的curator与zookeeper的版本对应关系需要自行再网上查看。在idea的maven project中可以查看到curator-framework中对应的zookeeper。版本不对应的情况需要自行排除并重新引入。