zoukankan      html  css  js  c++  java
  • 【Dubbo&&Zookeeper】2、 windows平台dubbo-admin管理平台搭建

    一、前言

    dubbo的使用,其实只需要有注册中心,消费者,提供者这三个就可以使用了,但是并不能看到有哪些消费者和提供者,为了更好的调试,发现问题,解决问题,因此引入dubbo-admin。通过dubbo-admin可以对消费者和提供者进行管理。

    二、下载与配置打包

    dubbo-admin的下载,可自行到官网下载:https://github.com/alibaba/dubbo 
    当然,这里小宝鸽也上传到了csdn,猿友们可到这里下载,更加方便快捷哦: 
    http://download.csdn.net/detail/u013142781/9375988

    下载下来是这样的一个目录结构:

    这里写图片描述

    但是这里我们只关心dubbo-admin这个文件夹。

    其实下面所谓配置的目的就是为了得到war包,war包网上也有,但是下载了很多下来都会有问题,原因可能是每个人的电脑jdk版本或其他环境不一样,因此我们自己打包一个war就好。

    打包war包,进入dubbo-admin这个文件目录 运行命令:

    mvn package -Dmaven.skip.test=true
    • 1
    • 1

    这里写图片描述

    如果看到如下结果,说明打包成功了:

    这里写图片描述

    如果打包好后放入Tomcat启动报错:

    1.错误:ERROR context.ContextLoader - Context initialization failed org.springframework.beans.factory.BeanCreationException:
    2.主要原因:主要是由于jdk8不能正常运行,切换成jdk8一下的可以运行
    3.jdk8解决办法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    
    修改pom.xml文件
    1、webx的依赖改为3.1.6版;
    
        <dependency>
            <groupId>com.alibaba.citrus</groupId>
            <artifactId>citrus-webx-all</artifactId>
            <version>3.1.6</version>
        </dependency>
    2、添加velocity的依赖,我用了1.7;
    
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity</artifactId>
            <version>1.7</version>
        </dependency>
    3、对依赖项dubbo添加exclusion,避免引入旧spring
    
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>${project.parent.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    参考于:https://github.com/alibaba/dubbo/issues/50
    

    我的pom.xml文件

    修改dubbo-admin的pom文件,这个文件可以被正常打包,支持jdk1.7,jdk1.8

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<parent>
    		<groupId>com.alibaba</groupId>
    		<artifactId>dubbo-parent</artifactId>
    		<version>2.5.4-SNAPSHOT</version>
    	</parent>
    	<artifactId>dubbo-admin</artifactId>
    	<packaging>war</packaging>
    	<name>${project.artifactId}</name>
    	<description>The admin module of dubbo project</description>
    	<properties>
    		<wtpversion>1.5</wtpversion>
    		<wtpContextName>/</wtpContextName>
    		<eclipse.useProjectReferences>false</eclipse.useProjectReferences>
    		<skip_maven_deploy>false</skip_maven_deploy>
    	</properties>
    	<dependencies>
    		<dependency>
    			<groupId>com.alibaba</groupId>
    			<artifactId>dubbo</artifactId>
    			<version>2.5.3</version>
    			 <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>
                </exclusion>
            </exclusions>
    		</dependency>
    		<dependency>
    			<groupId>com.alibaba.citrus</groupId>
    			<artifactId>citrus-webx-all</artifactId>
    			 <version>3.1.6</version>
    		</dependency>
    		<dependency>
    			<groupId>org.javassist</groupId>
    			<artifactId>javassist</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.jboss.netty</groupId>
    			<artifactId>netty</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.mina</groupId>
    			<artifactId>mina-core</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.glassfish.grizzly</groupId>
    			<artifactId>grizzly-core</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.httpcomponents</groupId>
    			<artifactId>httpclient</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>com.alibaba</groupId>
    			<artifactId>fastjson</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>com.thoughtworks.xstream</groupId>
    			<artifactId>xstream</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.bsf</groupId>
    			<artifactId>bsf-api</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.zookeeper</groupId>
    			<artifactId>zookeeper</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>com.github.sgroschupf</groupId>
    			<artifactId>zkclient</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>com.netflix.curator</groupId>
    			<artifactId>curator-framework</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>com.googlecode.xmemcached</groupId>
    			<artifactId>xmemcached</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.thrift</groupId>
    			<artifactId>libthrift</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>com.caucho</groupId>
    			<artifactId>hessian</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>javax.servlet</groupId>
    			<artifactId>servlet-api</artifactId>
    			<scope>provided</scope>
    		</dependency>
    		<dependency>
    			<groupId>log4j</groupId>
    			<artifactId>log4j</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>slf4j-api</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>slf4j-log4j12</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>redis.clients</groupId>
    			<artifactId>jedis</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>javax.validation</groupId>
    			<artifactId>validation-api</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.hibernate</groupId>
    			<artifactId>hibernate-validator</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>javax.cache</groupId>
    			<artifactId>cache-api</artifactId>
    		</dependency>
    <dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity</artifactId>
    <version>1.7</version>
    </dependency>
    </dependencies>
    <build>
    <plugins>
    <plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <version>${jetty_version}</version>
    <configuration>
    <contextPath>/</contextPath>
    <scanIntervalSeconds>10</scanIntervalSeconds>
    <connectors>
    <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
    <port>8080</port>
    <maxIdleTime>60000</maxIdleTime>
    </connector>
    </connectors>
    </configuration>
    </plugin>
    </plugins>
    </build>
    </project>

    如果一直打包不成功,那么直接下载博主的war试试吧,注意博主的jdk是1.7的,下载链接:

    http://download.csdn.net/detail/u013142781/9376337

    打包成功之后,就会发现dubbo-admin下多了个target文件夹,打开target文件夹,发现里面有个war包:

    这里写图片描述

    三、安装dubbo-admin

    第二步我们得到dubbo-admin-2.5.4-SNAPSHOT.war,下面我们将这个war包部署到tomcat上。

    把dubbo-admin-2.5.4-SNAPSHOT.war放到tomcat的webapps目录下:

    这里写图片描述

    然后打开tomcat的conf目录下的server.xml文件,把启动端口改成8090,因为zookeeper默认使用的是8080,以免冲突:

    这里写图片描述

    启动tomcat,让它把war解压了

    这里写图片描述

    这里写图片描述

    如果一直提示unable to open the service ‘tomcat*’,那么重新安装一个tomcat(注意一定要使用tomcat安装包,重新安装,不是解压可用那种),这里提供window的安装包下载:http://download.csdn.net/detail/u013142781/9376343

    这里写图片描述

    tomcat的webapps里面就会多了这个文件夹:

    这里写图片描述

    然后就可以把tomcat stop了

    打开刚刚tomcat解压生成的dubbo.properties,我的在Tomcat 7.0webappsdubbo-admin-2.5.4-SNAPSHOTWEB-INF下:

    这里写图片描述

    内容是:

    dubbo.registry.address=zookeeper://127.0.0.1:2181
    dubbo.admin.root.password=root
    dubbo.admin.guest.password=guest

    知道root的密码:root,guest的密码:guest,待会登录用到

    四、下面运行

    如果还没有配置Zookeeper的,请参考博主的另外一篇文章配置:http://blog.csdn.net/u013142781/article/details/50395650

    先启动zookeeper,然后在启动tomcat,访问地址:http://localhost:8090/dubbo-admin-2.5.4-SNAPSHOT/

    这里写图片描述

    输入刚刚的用户名root和密码root:

    这里写图片描述

  • 相关阅读:
    [node] 如何安装node.js环境(ubuntu16.04)
    [go] 如何安装go环境(ubuntu16.04)
    github如何从提交代码到远程
    angular6 表单验证
    angular6 使用tooltip
    angular6 导出Excel文件
    angular6 页面加载数据时的loading提示
    angular6 使用daterangepicker的注意事项
    angular6 监听url查询参数变化刷新页面
    python使用gevent实现协程
  • 原文地址:https://www.cnblogs.com/wangzhongqiu/p/6611658.html
Copyright © 2011-2022 走看看