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;
}

到此,大功告成

dubbokeeper-moniter部署指南的更多相关文章

  1. 首发福利!全球第一开源ERP Odoo系统架构部署指南 电子书分享

    引言 Odoo,以前叫OpenERP,是比利时Odoo S.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个Odoo及第三方开发的企业应用模块.Odoo适用于各种规 ...

  2. [转]Nginx反向代理和负载均衡部署指南

    Nginx反向代理和负载均衡部署指南   1.        安装 1)         从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最 ...

  3. Istio 1.4 部署指南

    原文链接:Istio 1.4 部署指南 Istio 一直处于快速迭代更新的过程中,它的部署方法也在不断更新,之前我在 1.0 版本中介绍的安装方法,对于最新的 1.4 版本已经不适用了.以后主流的部署 ...

  4. NTP 集群简略部署指南

    NTP 集群简略部署指南 by 无若 1. NTP 简介 网络时间协议(英语:Network Time Protocol,简称NTP)是在数据网络潜伏时间可变的计算机系统之间通过分组交换进行时钟同步的 ...

  5. Web项目部署指南

    Web项目部署指南 本文记录了部署Vue项目到阿里云服务器上的过程,其中云服务器的操作系统是CentOS 7,Web服务器用的是nginx.因为项目涉及发送异步请求,而由Flask编写的后端应用监听的 ...

  6. docker在CentOS7下部署指南

    docker只支持CentOS7.x系统,所以近期根据docker官网指南自己搭建了一套,供大家参考. 1.部署Centos7.x系统,查看系统版本. 2.执行 sudo yum update 更新到 ...

  7. RabbitMQ生产部署指南

    像RabbitMQ这样的数据服务通常有许多可调参数.一些配置对开发有很大的意义,但并不适合生产,本指南旨在为此提供帮助 虚拟主机 例如,在单租户环境中,当您的RabbitMQ集群专门为生产中的单个系统 ...

  8. ELK+KAFKA安装部署指南

    一.ELK 背景 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如: ...

  9. FastDFS 单机部署指南

    简介 FastDFS是一个开源的分布式文件系统,官方介绍有详细的介绍,不多赘述.本文主要是FastDFS的搭建及采坑指南. Step By Step Guide 系统 阿里云ECS Ubuntu 16 ...

随机推荐

  1. 自动化冒烟测试 Unittest , Pytest 哪家强?

    前言:之前有一段时间一直用 Python Uittest做自动化测试,觉得Uittest组织冒烟用例比较繁琐,后来康哥提示我使用pytest.mark来组织冒烟用例 本文讲述以下几个内容: 1.Uni ...

  2. zeroMQ 4 java

    自己最开始是在cloud foundry中接触过消息服务器(nats),或者说是消息中间件,也算是初步知道了一个消息服务器对于分布式的网络系统的重要性,后来自己也曾想过在一些项目中使用它,尤其是在一些 ...

  3. Android 开发你需要了解的那些事

    本文微信公众号「AndroidTraveler」首发. 背景 最近部门有新入职员工,作为规划技术路线的导师,这边给新员工安排了学习路线. 除了基本的学习路线之外,每次沟通,我都留了一个小问题,让小伙伴 ...

  4. 十代雅阁广东车友群,雅阁广州车友群,深圳雅阁车友群,雅阁微信群、雅阁车友群、十代雅阁交流微信QQ群

    最近一直在关注第十代雅阁,不论是普通汽油版本还是油电混动版本都很不错,在网上看到很多评测文章和视频 后续都会整理发布到微信群中. 由于论坛发帖,博客发文都不是很方便,为了及时沟通,先创建了微信群,方便 ...

  5. python笔记(1)--序列(列表 元组 range)

    一.序列分类 1.可变序列:list 2.不可变序列:tuple,range 二.序列公共操作方法 1.操作和返回值 其中s和t代表同类型序列:n,i,j,k为整数:x为任意类型. 序号 操作 结果 ...

  6. 精美的在线icon

    super-tiny-icons(0.2.1)列表 序号 名称 图标 地址 是否使用 1 acast.svg https://cdn.jsdelivr.net/npm/super-tiny-icons ...

  7. C#跟Lua如何超高性能传递数据

    前言 在UWA学堂上线那天,我买了招文勇这篇Lua交互的课程,19块还算值,但是前段时间太忙,一直没空研究,他的demo是基于xlua的,今天终于花了大半天时间在tolua下跑起来了,记录一下我的理解 ...

  8. Git常用操作指南

    目录 前言 Git简介 安装之后第一步 创建版本库 本地仓库 远程仓库 版本控制 工作区和暂存区 版本回退 撤销修改 删除文件 分支管理 创建与合并分支 解决冲突 分支管理策略 状态存储 多人协作 R ...

  9. Excel催化剂开源第42波-与金融大数据TuShare对接实现零门槛零代码获取数据

    在金融大数据功能中,使用了TuShare的数据接口,其所有接口都采用WebAPI的方式提供,本来还在纠结着应该搬那些数据接口给用户使用,后来发现,所有数据接口都有其通用性,结合Excel灵活友好的输入 ...

  10. c语言进阶9-值传递与地址传递

    一.  函数的值传递 函数的值传递是指参数为基本类型时,如整型.浮点型.字符型(特指单字符型)时,参数传递时是从实参拷贝一份值传给形参,形参的变化不会影响实参的值. 1.        基本类型做参数 ...