zoukankan      html  css  js  c++  java
  • dubbokeeper-moniter部署指南


    moniter在整个dubbo架构中的角色:

    使用的1.0.1版本:

    ## 1.0.1版本变动内容

    dubbokeeper在1.0.1版本对监控数据存储模块抽离出来,做为单独的应用部署,而不是和1.0.0版本和前端展示集成在一个应用里面
    在1.0.0版本中暂时提供了mysql以及1.0.0中已有的lucene存储

    这样做的目的是使得dubbokeeper的监控数据收集端能够集群部署(使用lucene,将不支持集群部署,如果使用lucene存储,需要jdk1.7+)

    所以1.0.1以后的版本,对dubbokeeper的部署将包含两部分,一部分是监控数据存储端以及另一部分是监控数据展示的部署

    部署流程:


    ## 部署过程:
    > 1、下载源码

    `git clone https://github.com/dubboclub/dubbokeeper.git `

    > 2、编译打包

    由于监控数据的存储和展示显示进行了分离,那么打包有所变动。在下载源码的根目录会发现install-xxx.bat(sh),这个可以根据你想要的不同存储执行对应的脚本。

    执行完之后在`target`目录下面会发现`xxx-dubbokeeper-ui`,`xxx-dubbokeeper-server`以及`xxx-dubbokeeper-server.tar.gz`

    其中`xxx-dubbokeeper-ui`下会有一个war包,将该war包部署到tomcat或者jetty里面(或者其他servlet容器),那么就部署好了监控展示应用了


    > 3、监控数据暂时端调整配置

    对上面的war包解压出来后对其中`WEB-INF/classes/dubbo.properties`文件中的配置项进行调整。

    ```xml
    #monitor的应用名,可根据自己情况自定义
    dubbo.application.name=monitor-ui
    #应用的拥有者
    dubbo.application.owner=bieber
    #连接的dubbo注册中心地址,保持部署监控数据存储的zk地址一样
    dubbo.registry.address=zookeeper://localhost:2181

    #use netty4
    dubbo.reference.client=netty4

    #peeper config
    #监控的zookeeper连接列表,多个通过‘,’(英文逗号)隔开。
    peeper.zookeepers=localhost:2181
    #监控的zookeeper连接会话超时时间
    peeper.zookeeper.session.timeout=60000

    #被监控端同步监控数据周期时间,可不配置,默认是一分钟同步一次
    monitor.collect.interval=60000

    #logger
    #dubbokeeper的日志目录
    monitor.log.home=/usr/dev/op_disk/monitor-log
    ```

    > 4、监控数据存储端配置调整以及启动

    通过上面编译后会得到`xxx-dubbokeeper-server`目录,在改名了的`xxx-server`下面包含三个子目录`bin`,`conf`以及`lib`。

    `bin`:启动存储端的脚本,实行`start-xx.sh(bat)`则启动该应用


    `conf`:存储端的相关配置,具体配置下面会介绍


    `lib`:应用依赖的相关jar包

    下面列出不同存储的对配置的相关描述

    [lucene存储配置介绍](doc/storage/lucene/doc.md)

    [mysql存储配置介绍](doc/storage/mysql/doc.md)

    [mongodb存储配置介绍](doc/storage/mongodb/doc.md)

    按照上面对应存储配置完毕之后,执行`start-xx.sh(bat)`,便启动了dk的存储

    其中mysql相关其他步骤:
    CREATE TABLE `application` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(100) NOT NULL DEFAULT '',
    `type` varchar(50) NOT NULL DEFAULT '',
    PRIMARY KEY (`id`),
    UNIQUE KEY `应用名词索引` (`name`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    遇到的问题:

    1.统一dubbo版本和netty的版本:


    业务微服务业务代码中的版本是2.8.4和moniter的版本不一致
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>2.8.4</version>
    <exclusions>

    dubbokeeper源码中pom文件
    从2.5.3升级到2.8.4

    从netty4降至netty,否则序列化总是不成功


    调整js中的依赖(具体不是很懂)
    var libs = {
    default: [
    'log4j/log4j/1.2.17',
    'commons-logging/commons-logging/1.2',
    'com.alibaba/dubbo/2.8.4',
    'org.javassist/javassist/3.15.0-GA',
    'io.netty/netty/3.7.0.Final',
    'org.slf4j/slf4j-api/1.7.7',
    'org.slf4j/org.slf4j/slf4j-log4j12/1.7.7',
    'org.springframework/spring-core/2.5.6.SEC03',
    'com.101tec/zkclient/0.4',
    'org.apache.zookeeper/zookeeper/3.4.6'
    ],
    jsonrpc : [
    'com.github.briandilley.jsonrpc4j/jsonrpc4j/1.1',
    'com.ofpay/dubbo-rpc-jsonrpc/1.0.1'
    ]
    }


    2.补充缺少依赖(可能是2.8.4版本dubbo导致的):
    <dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty</artifactId>
    <version>3.7.0.Final</version>
    </dependency>
    <dependency>
    <groupId>javassist</groupId>
    <artifactId>javassist</artifactId>
    <version>3.12.0.GA</version>
    </dependency>

    3.修改ui和moniter的配置文件
    conf/dubbo-mysql.properties
    dubbo.properties

    主要包括zookeeper地址和mysql连接配置

    4.在业务微服务中开启moniter配置
    @Bean
    public MonitorConfig monitorConfig(){
    MonitorConfig monitorConfig = new MonitorConfig();
    monitorConfig.setProtocol("registry");
    return monitorConfig;

    到此,大功告成

  • 相关阅读:
    python format() 函数
    -bash: fork: Cannot allocate memory 问题的处理
    阿里云telnet 3306端口失败
    npm install报错 npm ERR! enoent ENOENT: no such file or directory
    springboot启动后总是自己shutdown
    thymeleaf给bootstrap自定义变量赋值
    java通过反射拷贝两个对象的同名同类型变量
    使用awk按照行数切割文件
    Iterable接口
    mac brew update 报错
  • 原文地址:https://www.cnblogs.com/victor2302/p/6648955.html
Copyright © 2011-2022 走看看