1. 程式人生 > >最新的dubbo和zookeeper整合的問題

最新的dubbo和zookeeper整合的問題

ext nal error: pid contex server ocl exc 修改

最新的dubbo和zookeeper整合的問題

生活本不易,流人遂自安

博主最新在做小項目練手,在進行dubbo和zookeeper整合的時候遇到了一些問題,在這裏這些問題做個小總結吧。

首先需要說明的是,這次使用的都是最新的版本。過一下我自己的配置,dubbo 2.6.6,zookeeper 3.4.13,Spring 5.1.5.RELEASE


dubbo-admin的搭建

? 從dubbo2.6版本之後的dubbo-admin已經遷移到了另外一個分支,這是 dubbo-admin 新GitHub的地址。進去之後可以看到發布了兩個release版本,下載Dubbo OPS 0.1的即可。最新的Dubbo Admin 0.2.0是Pre release版本,剛發布不久QAQ

技術分享圖片

將其解壓後,進入文件夾中,便可以 mvn install -Dmaven.test.skip=true 編譯了。【當然你需要先按安裝JDK和Maven】然後去編譯輸出的文件夾找到dubbo-admin-0.1 jar,註意不是dubbo-admin-distribution-0.1 jar。

技術分享圖片

dubbo-admin連接的zookeeper地址的修改可以到dubbo-admin-server\src\main\resources,修改application.properties文件中連接地址即可。

因為新版的dubbo-admin是通過了SpringBoot來進行打包的,所以是jar包,直接java -jar dubbo-admin-0.1 jar運行即可。【需要先啟動zookeeper服務,否則會報錯。】訪問對應的ip:8080端口即可。

技術分享圖片


引入jar包需要註意的

以下是我進入的jar包

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.6.6</version>
            <exclusions>
                <exclusion>
                    <artifactId>spring-context</artifactId>
                    <groupId>org.springframework</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.13</version>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
            <exclusions>
                <exclusion>
                    <artifactId>log4j</artifactId>
                    <groupId>log4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>zookeeper</artifactId>
                    <groupId>org.apache.zookeeper</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.12.1.GA</version>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>4.1.34.Final</version>
        </dependency>

        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>2.13.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>2.13.0</version>
        </dependency>
  1. 需要註意的是,這是是和Spring進行整合的,所以排除了一些依賴,你們需要引入Spring的依賴
  2. Curator存在版本的兼容問題,Curator 2.x.x兼容兩個版本的zookeeper:3.4.x和3.5.x,Curator 3.x.x兼容zookeeper 3.5,但是zookeeper 3.5還是在beta,所以我就沒有引入最新的。如果不兼容,會報java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy的錯誤!

參考文章:

文章一

文章二

歡迎指正,共同進步!

最新的dubbo和zookeeper整合的問題