企业微服务,选择dubbo框架,通常会选择zookeeper作为注册中心,当然这也是dubbo官方推荐的,zookeeper可以在windows上安装使用,在zookeeper官网下载tar包,解压后,简单配置一下配置文件,在bin目录下可以看到有cmd文件和sh文件,是同时支持windows版和linux版本的

配置文件在conf文件夹下

 可以设置数据保存目录和日志保存地址

配置好之后,依次启动zkServer.cmd和zkCli.cmd,默认地址是127.0.0.1:2181

接下来,安装dubbo-admin,安装教程在官网就有 http://dubbo.apache.org/zh-cn/docs/admin/introduction.html

主要步骤是4步

Maven方式部署

  • 安装
git clone https://github.com/apache/dubbo-admin.git
cd dubbo-admin
mvn clean package
cd dubbo-admin-distribution/target
java -jar dubbo-admin-0.1.jar

但是会有一些坑需要注意,这就是为什么要写这个博客,主要是为了记录一下安装时的一些要注意的细节问题

首先需要把github上的项目克隆下来,我试了,用Git Bash工具克隆速度非常慢,所以我直接用迅雷下载zip包了,下载好解压即可

然后在安装目录下打开cmd窗口

我安装在D盘,在D:/dubbo-admin-develop目录下打开cmd窗口,然后执行第三步,现在已经切换到了安装目录下(即第二步cd命令)

mvn clean package

注意:要成功执行这个命令,首先要保证pc上安装了maven,并正确配置了maven环境变量

在执行这个命令后,在download一部分jar包后,会报一个错误

npm ERR! code EINTEGRITY
npm ERR! sha512-8qtu6VYSXUExVPx6H8s8+OhQo0UQP7ogAoOa2bOPCvnhlpaGVYf3yh45WNa7PhhdWSOGQW3DdblqMX8UJ7Cu6g== integrity checksum failed when using sha512: wanted sha512-8qtu6VYSXUExVPx6H8s8+OhQo0UQP7ogAoOa2bOPCvnhlpaGVYf3yh45WNa7PhhdWSOGQW3DdblqMX8UJ7Cu6g== but got sha512-OvgW+e/pBS2QuX5CTDaaE+DM62t8mMk+IJfcpE3Zv1DC03DwoOKcyqRHlA+lkXWahSOPmvYZJSEDUKX0nOeLDw==. (4954746 bytes)

npm错误,在网上搜索了一下,大致原因是npm版本问题,不是最新版本,网络上说直接用npm install -g npm这个命令可以更新npm到最新版,但是我试了一下,直接卡住了,根本下载不了。所以这个不好用,实际上在windows上安装node很简单,现在的node直接集成安装了npm,所以windows上的npm版本更新,直接去node官网下载最新的node安装包,覆盖掉原来的安装就可以升级了

去node官网下载官方推荐的长期稳定版,下载后,双击msi文件进行安装,安装目录选择以前的安装目录覆盖掉就好了

我去年安装过,在D盘下安装的,直接还安装在这个目录中覆盖掉以前的版本

如果找不到以前在哪里安装的,可以使用cmd窗口,输入命令 where node

因为去年安装node的时候,配置过环境变量,可以直接找到安装位置,然后在这个安装目录D:\node.js下覆盖掉

具体node.js的环境变量配置,可以参考:npm环境变量配置

我在系统变量中的path配置了两项配置NODE_PATH以及Path项,其中chocolatey是安装node时候,勾选了安装工具时安装的,需要配置node.js安装目录,和配置node_global

 然后用户变量中也要修改

修改之后:

更新了node和npm,接下来再次重试 mvn clean package,则可以执行完npm打包前端ui界面的命令,但是会出现新问题,就是mvn在执行test命令时,会一直提示错误,从而卡住,不会build成功的,所以在执行打包命令时,跳过测试,使用下边这个命令

mvn clean package -Dmaven.test.skip=true

然后再次执行,就可以build success

接下来进入到D:\dubbo-admin-develop\dubbo-admin-distribution\target目录下可以看到打包成功的jar包

这个目录下的jar包是包含前后端的,如果是前后端分离部署的,只是启动后端,那么jar包在另外一个目录下,官网也有说明

 但是我是maven部署的,所以jar包大小是一样的

在dubbo-admin-distribution目录下的target目录下,打开cmd窗口,执行 java -jar  dubbo-admin-0.2.0-SNAPSHOT.jar会启动dubbo-admin这个项目

但是启动之后,也报错了,报错tomcat 8080端口被占用

这个时候要修改一下项目的配置文件就可以了

在application.properties文件中添加server.port=8998,就可以将tomcat服务器端口号改成8998了,然后再次到项目目录下

打开cmd窗口,执行 mvn clean package -Dmaven.test.skip=true重新打jar包,build success之后,再次启动jar包,然后在浏览器地址栏输入:http://localhost:8998/

就可以看到dubbo-admin界面了,但是此时点击服务查询,需要登录账户,登录账户名和密码都是root,可以在刚才说的application.properties文件中找到

 然后可以查看具体的服务模块

要查看服务模块,需要启动公司的项目,以及启动本地的zookeeper,启动zookeeper很简单

在安装目录的bin目录下,依次启动zkServer.cmd和zkCli.cmd.

然后再次服务查询,现在没有记录,因为没有启动公司的项目,所以查看不到具体的服务

但是我们可以利用zookeeper可视化工具查看注册在zookeeper上的服务信息

 使用这个zktools可以连接上zookeeper服务器,然后可以看到zookeeper服务器根节点/下边有两个子节点dubbo和zookeeper,项目中的服务提供者的信息就保存在dubbo这个节点下的子节点中,具体的可以参考官网的文档,官网上描述的有三层(URL已经是具体数据信息了)

http://dubbo.apache.org/zh-cn/docs/user/references/registry/zookeeper.html

在图中可以看到dubbo服务在zookeeper上的注册,第一层根节点是dubbo,也就是/dubbo,严格上不算是根节点,根节点是/

dubbo下层子节点是具体Service接口对应的全限定类名,再下一层节点是providers和confiurators,启动服务消费者,会增加consumers,然后再点开providers,可以看到服务提供者在zookeeper上的具体的注册信息(即URL地址信息,使用的dubbo协议开头,也可以配置多协议,还可以再加上http协议)

可以看到层次,使用工具可以看到节点名和节点值,节点值一般经过了URLEncode,所以查看的时候,勾选上URL解码

因为项目在家没法启动,因为连接不上数据库,所以现在看到的节点名providers看不到节点值,为空白内容

 

昨天是周末,没法正常启动项目进行测试,今天是8月31日,今天上午来到公司,在公司局域网环境下启动了项目,然后到dubbo-admin-devop项目的D:\dubbo-admin-develop\dubbo-admin-server\src\main\resources 下修改application.properties文件,修改zookeeper的ip地址为公司项目连接的zookeeper地址

修改好后,重新打包(执行mvn clean package -Dmaven.test.skip=true)dubbo-admin-devop这个项目,然后执行java -jar命令启动jar包,然后重新在浏览器访问dubbo-admin; 使用root账户登录后,点击服务查询就可以看到项目中的所有服务信息了

同时zktools工具也连接上公司项目中配置的zookeeper的地址,就可以查看到对应服务的注册信息了

一个providers下有两个文件是因为有多个服务器,dubbo集群,所以对应多个文件,38.224的ip地址,对应的是我的本机ip(是我的机器上的该服务hotelCreateOrderService的注册信息),1.116的ip地址是同事的笔记本ip地址,而且节点文件都是临时节点,当项目服务启动后,provider下的服务注册信息节点(provider的子节点)创建,项目停掉后,该节点会自动删除。

安装使用dubbo-admin管理台进行服务监控和服务治理相关推荐

  1. DUBBO ADMIN管理页面搭建

    dubbo现在属于 Apache 的孵化项目,admin页面也改了部署方式.貌似网上现在还没有.不过项目的readme中有详细方式. dubbo首页 http://dubbo.apache.org/ ...

  2. Dubbo Admin服务测试功能

    基于Dubbo2.7的元数据,Dubbo Admin实现了服务测试功能,可以通过泛化调用,在控制台上调用真实的服务提供者 使用方式 部署服务提供者: 可以在这里下载demo,此工程基于spring b ...

  3. 2023年最新zabbix监控Linux服务+ensp交换机

    目录 部署环境 实验步骤 一.部署环境 ubuntu 20.04 镜像下载地址:https://pan.baidu.com/s/1OpxgthgZ48cgSc5ykgmplA  提取码:1234 二. ...

  4. 为什么大公司一定要使用微服务?微服务杂谈(1),推荐学习

    马丁.福勒的一个观点是:除非管理单体应用的成本已经太复杂了(太大导致很难修改和部署),否则都不要考虑微服务.大部分应用都应该选择单体架构,做好单体应用的模块化而不是拆分成服务. 因此,系统一开始采用单 ...

  5. 使用JMX透过防火墙远程监控tomcat服务

    为什么80%的码农都做不了架构师?>>>    JDK的bin目录下有jvisualvm或jconsole可以监控本地和远程jvm实例的运行动态(包括cpu,内存等), 对于性能分析 ...

  6. .net中调用esb_大型ESB服务总线平台服务运行分析和监控预警实践

    今天准备谈下ESB总线平台建设项目中的服务运行统计分析,服务心跳监测,服务监控预警方面的设计和实现.可以看到,在一个ESB服务总线平台上线后,SOA治理管控就变得相当重要,而这些运行监控分析本身也是提 ...

  7. springcloud Hystrix Dashboard微服务监控

    springcloud  Hystrix Dashboard微服务监控简介 Hystrix监控 除了隔离依赖服务的调用以外,Hystrix还提供了近实时的监控,Hystrix会实时.累加地记录所有关于 ...

  8. Dubbo 管理能力弱?Dubbo Admin 发布 v0.1 助力服务管理能力!

    点击蓝色"程序猿DD"关注我哟 来源:阿里巴巴中间件 为了提升 Dubbo 里程碑版本2.7.0的使用体验,我们于去年年中启动了 Dubbo Admin 的重构计划,并作为Dubb ...

  9. Dubbo—dubbo admin安装

    dubbo admin介绍:Dubbo Admin 运维指南 | Apache Dubbo 1.所需依赖介绍 Dubbo-admin是Dubbo RPC框架的"管理端",可以对注册 ...

最新文章

  1. sql server 存储过程 拼接SQL 超过8000
  2. 数字怎么横 竖排_从这些数字更深入了解打包箱房
  3. 数据分析师要会mysql_数据分析人员需要掌握sql到什么程度?
  4. Spring Boot 集成 Quartz
  5. openssh升级sftp_linux搭建sftp(openssh)
  6. python pytorch tenser 索引 slice 切片
  7. 与矩阵的秩有关的结论
  8. 忘记MySQL密码如何重置再到重新设置密码
  9. ios 程序中安装 描述文件
  10. MATLAB之特征值和特征向量
  11. 用计算机做电子贺卡送祝福,全国信息技术优质课一等奖电子贺卡送祝福教案.doc...
  12. 易基因|3文解读:微量样本甲基化测序在肿瘤中的应用
  13. maxlength中文和英文html,让input maxlength区分中英文
  14. 奔驰c260语言设置方法图解,奔驰C260L灯光使用方法,C260L灯光开关图解说明
  15. FPGA——PS/2驱动
  16. 如何用python计算圆周率_如何用python计算圆周率?
  17. VuePress构建一个文档管理网站
  18. [ORACLE] ORA-03113错误解决方案
  19. 背包问题(01背包和完全背包)
  20. 异世界OL游戏怎样?

热门文章

  1. 表单防重复提交拦截器
  2. 如何打开电脑上的安全策略
  3. Maven中的自定义settings.xml文件
  4. json 插入数据_让繁琐的工作自动化——python处理JSON文件
  5. 陇东学院计算机学院教授有,陇东学院
  6. 结构体06:结构体const使用场景
  7. opencv之waitKey()与waitKeyEx()的区别
  8. 计算机页面高度怎么设置方法,win10系统调节任务栏高度的设置技巧
  9. PCL——连接两个点云的字段
  10. window下配置定时任务实现类似linux的cron定时任务