Dubbo+ZooKeeper之旅

aNian 2020-03-28

准备工作

根据dubbo的结构体系需要下载相关的软件

Dubbo+ZooKeeper之旅

下载

zookeeper——注册中心(Registry)

zookeeper官网下载地址:https://zookeeper.apache.org/releases.html#download

apache-zookeeper-3.6.0-bin.tar.gz

Dubbo+ZooKeeper之旅

dubbo官网:

需要需要一个监控中心——incubator-dubbo-ops-master

ops属于ali开发的软件,主要功能包括dubbo的admin和monitor两项功能,即注册和监控控制台。

百度搜索dubbo然后点击github,发现阿里的ops已经找不到了,只剩下“dubbo-admin-develop”。

以前可以下载到ops现在下载不到了,无奈安装现有的dubbo-admin-develop莫名出错,而且运行时间又长,只能先找之前的ops包来使用。

不过最后还是让我找到了ops的下载网址(哈哈):

https://github.com/zzrrwwyy/incubator-dubbo-ops

安装zookeeper

首先解压zookeeper到单独文件夹

Dubbo+ZooKeeper之旅

进入以下目录新建一个data文件夹

Dubbo+ZooKeeper之旅

 进入配置文件所在区

Dubbo+ZooKeeper之旅

复制zoo_sample.cfg并命名为zoo.cfg

Dubbo+ZooKeeper之旅

再去修改zoo.cfg配置文件

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=../data                   #修改成上级目录中的data文件夹
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true

修改之后保存退出。

接着需要启动服务器,根据当前路径搜索cmd,之后键入命令zkServer.cmd并回车启动服务:

zkServer.cmd

Dubbo+ZooKeeper之旅

启动结果如下:

Dubbo+ZooKeeper之旅

似乎和之前版本有点不一样。

接着在bin目录下用cmd启动客户端并键入如下命令:

zkCli.cmd

Dubbo+ZooKeeper之旅

 启动效果如图

Dubbo+ZooKeeper之旅

 接着就可以在客户端上键入常用命令看看是否好使

1 在根节点下创建一个节点"yuan" 并赋值为“abcd”

create -e /yuan abcd

Dubbo+ZooKeeper之旅

2 接着在根节点下查看该节点

ls /

Dubbo+ZooKeeper之旅

3 获得节点"yuan"中的值

get /yuan

Dubbo+ZooKeeper之旅

这样zookeeper就安装并启动好了,zookeeper可以作为注册中心来使用,之后可以与dubbo的监控台一起使用。

安装dubbo的ops

需要解压incubator-dubbo-ops-master到一个新建的文件夹

Dubbo+ZooKeeper之旅

进入此文件夹,然后再这里启动cmd

Dubbo+ZooKeeper之旅

键入打包命令mvn clean package

 Dubbo+ZooKeeper之旅

 如果运行没有问题,那么效果是这样:显示“build success”

Dubbo+ZooKeeper之旅

接着可以看到生成“target”文件夹

Dubbo+ZooKeeper之旅

打开它就可以看到一个jar包

Dubbo+ZooKeeper之旅

接着把这个jar包复制到zookeeper里

Dubbo+ZooKeeper之旅

此时要保证zookeeper里的服务端和客户端都处于启动状态,否则dubbo的控制台没有响应。

当前文件夹下打开cmd,执行如下命令

java -jar dubbo-admin-0.0.1-snapshot.jar

Dubbo+ZooKeeper之旅

 如果一切正常就会有如下显示,可以看到tomcat started on 7001(http) with context path

Dubbo+ZooKeeper之旅

 接下来在浏览器中访问,用户名和密码默认是root

访问网址;localhost:7001

Dubbo+ZooKeeper之旅

 输入之后就可以看到监控中心:

Dubbo+ZooKeeper之旅

监控中心的作用是将一些发布的接口,注册到这里。只要服务器一启动,通过spring的自动加载dubbo的监控服务也会启动起来,它监控的就是所有放在spring配置文件里的接口。

放在监控台的接口特点为:可以被其它服务器重复利用,所有接口独立部署在一台服务器上;里面所有接口与其它服务器解耦,与其它服务器的依赖程度只有pom文件级别。

上图中的应用名就是其它服务器里对接口的实现。各应用程序需要的bean、接口都可以在放在发布了接口的共享服务器。

好啦,接着一起搭建dubbo+zookeeper的项目吧。

相关推荐