dubbo admin监控中心+zookeeper注册中心的简单配置

dubbo+zookeeper注册中心的简单配置

1.新增一个父项目,并在父项目中添加依赖
<dependencies>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.8</version>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.6</version>
        </dependency>
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.7</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>
2.在父项目中添加一个子模块dubbo_interface,并新增一个IHelloInterface的接口
package com.ym.dubbo;

public interface IHelloInterface {
    String sayHello(String name);
}
3.在当前父项目中添加一个子模块dubbo_provider
  1. 在当前子模块的pom文件中,添加dubbo_interface的依赖

     <dependencies>
            <dependency>
                <groupId>com.ym</groupId>
                <artifactId>dubbo_interface</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
        </dependencies>
    
  2. 在当前子模块中添加dubbo_interface模块的实现类

    package com.ym.dubbo;
    
    public class HelloName implements IHelloInterface {
    
        @Override
        public String sayHello(String name) {
            return "hello " + name;
        }
    }
    
  3. 在当前子模块的resources下新增spring-dubbo.xml的配置文件(注册中心的IP地址一定要找准)

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
    
        <!--使用bean,来创建一个helloName的示例对象-->
        <bean id="myDubbo" class="com.ym.dubbo.HelloName" />
    
        <!--定义一个dubbo的应用程序名称,将来会在dubbo的管理中心查看-->
        <dubbo:application name="DubboProvider" />
    
        <!--配置dubbo协议,dubbo,hession,RMI-->
        <dubbo:protocol name="dubbo" port="20880" />
    
        <!--将当前应用注册到zookeeper注册中心服务器上-->
        <dubbo:registry address="zookeeper://192.168.41.106:2181"></dubbo:registry>
    
        <!--将当前服务的接口暴露出去,以提供消费方来消费-->
        <dubbo:service interface="com.ym.dubbo.IHelloInterface" ref="myDubbo" />
    
    </beans>
    
  4. 在当前子模块中新建一个测试类将当前的spring-dubbo.xml文件加载起来

    import org.junit.Test;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class DubboTest {
    
        @Test
        public void testProvider(){
    
            //加载spring-dubbo的配置文件
            new ClassPathXmlApplicationContext("classpath:spring-dubbo.xml");
    
            //打印提示信息
            System.out.println("provider is ready");
    
            //死循环保证 长连接
            while (true){}
        }
    }
    
4.在父项目中添加一个子模块dubbo_consumer
  1. 在子模块的pom文件中添加dubbo_interface的依赖(我们也可以添加dubbo_provider的依赖,从而达到调用dubbo_interface模块中的接口方法,但是一般情况下dubbo_provider不一定是我们写的,所以最好添加dubbo_interface的模块依赖:就像是门户网站上面的天气预报功能,门户网站本身不会"架一个锅"来收集天气信息,但是天气预报服务商会提供一个接口,供门户网站使用)

     <dependencies>
            <dependency>
                <groupId>com.ym</groupId>
                <artifactId>dubbo_interface</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
        </dependencies>
    
  2. 在当前子模块中的resources下新增spring-dubbo.xml的配置文件(注册中心的IP地址一定要找准)

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
    
        <!--配置当前应用的名称,给监控中心来使用-->
        <dubbo:application name="DubboConsumer" />
        
        <!--设置注册中心,从该注册中心去消费服务-->
        <dubbo:registry address="zookeeper://192.168.41.106:2181" />
        
        <!--获取提供方提供的接口数据-->
        <dubbo:reference interface="com.ym.dubbo.IHelloInterface" id="testDubbo" />
    
    </beans>
    
  3. 在当前子模块新增测试类加载spring-dubbo的配置信息,并测试数据是否获取

    import com.ym.dubbo.IHelloInterface;
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class DubboTest {
        IHelloInterface helloInterface;
    
        @Test
        public void testConsumer(){
    
            //   加载spring-dubbo的配置文件
            ApplicationContext ac=new ClassPathXmlApplicationContext("classpath:spring-dubbo.xml");
    
            //  通过id拿到spring-dubbo中定义的testDubbo节点对应的对象
            helloInterface=ac.getBean("testDubbo",IHelloInterface.class);
    
            //  调用testdubbo对象中的方法,完成测试
            String s = helloInterface.sayHello("zhangsan");
    
            //打印结果
            System.out.println(s);
    
            //死循环保证 长连接
            while (true){}
    
        }
    }
    
5.linux下搭建zookeeper的环境
  1. 通过Xftp将解压后的zookeeper-3.4.14文件放到/opt/下

  2. 关闭防火墙

    systemctl stop firewalld

  3. 切换到zookeeper的bin目录下,然后运行命令启动zookeeper

    ./zkServer.sh start

  4. 命令行中出现以下内容,说明启动成功


    启动zookeeper.png
6.运行dubbo_cunsumer子模块中的测试类验证
  • 如果控制台打印正确的内容,说明已经运行过程已经通了
7.配置dubbo的环境(tomcat+dubbo)
  1. 新建一个dubbo的文件夹,解压一个纯净的tomcat,然后修改tomcat-users.xml的配置文件(添加一下代码)

    <role rolename="manager-gui"/>
     <role rolename="manager-script"/>
     <role rolename="manager-jmx"/>
     <role rolename="manager-status"/>
     <user username="yanm" password="yanm" roles="manager-gui, manager-script, manager-jmx, manager-status"/>
    
  2. 下载dubbo-admin-2.5.8.war并将dubbo-admin-2.5.8.war放到tomcat的webapps包下,启动tomcat(dubbo-admin-2.5.8.war有点问题:如果启动报错,并且进入不了页面,就先启动tomcat,然后再把dubbo-admin-2.5.8.war放到webapps下,然后刷新页面)

  3. 修改tomcat-webapps-(dubbo-admin-2.5.8)-(WEB-INF)-dubbo.properties文件,将里面的IP地址修改成linux中(zookeeper)的IP地址

  4. 启动tomcat服务,用户名和密码都是root,可以在dubbo.properties修改,如果显示如下页面,则说明成功


    dubbo-admin登陆1.png
  • 登陆成功如下
dubbo-admin登陆成功1.png
  • 查看信息


    查看信息.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335