dubbo学习之快速搭建dubbo平台和zookeeper伪集群

dubbo自从诞生就在猿界刮起了一阵旋风,即使后来由于和自家的HSF存在竞争关系下架,官网也关闭,但是好东西,怎能说下架就下架,很多正式的官方说法百度一下一大堆,不介绍了。

我身边的朋友好几个都没有安装成功,我先说一下环境问题,因为dubbo比较老,所以jdk8并不能很好的支持,本人亲测。

先说一下我的环境

  jdk:1.7

  mvn:3.5

  dubbo:2.4

  服务器:tomcat7,zookeeper3

首先当然是从官网下载dubbo源码到本地,可以从GitHub下载,不要最新版(最近dubbo更新了一些依赖和一些反馈问题,鄙人感觉并不是很好用)

1. 本机先安装github on Windows的客户端,也可以是GitHub

2. 命令行下 git clone https://github.com/dangdangdotcom/dubbox 把代码拉到本地(官网提供的最新版本地址:https://github.com/alibaba/dubbo/releases)

3. 下载3个zookeeper,创建伪集群,下面再详细介绍伪集群搭建方法。

4.当源码下载完毕后,到项目目录下执行以下命令 mvn install -Dmaven.test.skip=true 跳过测试编译

5.打包成myeclipse工程ps:上面两个地址打包成的mvn工程结构不一样,但是都不影响使用

6.将工程导入到myeclipse

7.到dubbo的dubbo-admin目录下,执行命令mvn package将dubbo-adnin打包

8.执行完打包命令之后,将dubbo-admin下的target拷贝到tomcat的webapps下,并改名为ROOT

9.创建zookeeper伪集群

  9.1.下载zookeeper,并拷贝3份

  9.2.分别修改3份的配置文件,在zookeeper的conf下,将zoo_sample.cfg复制一份,并重新命名为zoo.cfg,因为zoo_sample.cfg是默认的配置文件

  

  9.3.编辑zoo.cfg,代码如下(啰嗦一下,每个zoo.cfg对应的dataDir和dataLogDir,需要提前建立好,如果是Windows环境,斜杠请看我下的写法)

  

tickTime=2000
initLimit=10
syncLimit=5

#储存快照文件snapshot的目录
dataDir=D:/zookeeperjava/data1

#server的端口,即对外服务端口
clientPort=2181

#事务日志目录 dataLogDir=D:/zookeeperjava/log1 server.1=127.0.0.1:2287:3387 server.2=127.0.0.1:2288:3388 server.3=127.0.0.1:2289:3389

   每个zookeeper的zoo.cfg配置文件dataDir和dataLogDir需要独立创建,不能共享,还是上一张图说明

  9.4在每个dataDir下建立一个文件,文件名为myid内容分别为前面zoo.cfg里的server.x的x

      server.1=127.0.0.1:2287:3387表示当前为1号机,第一个端口表示数据通信,第二个端口表示Leader选举过程中投票通信。所以这里的server.x一定要与dataDir下的myid里的内容对应

      

  9.5我简单的说一下,就是创建3个不同的dataDir和3个不同的dataLogDir目录,dataDir目录下创建一个文件,文件名为myid,内容为使用当前目录的主机id及server.x的x

 10.启动zookeeper伪集群,找到bin下的启动脚本Windows的为zkServer.cmd,Linux的为zkServer.sh

  

 11.启动tomcat,前提是已经将先打包好的dubbo-admin放到tomcat的webapps下,如果先启动tomcat没有启动zookeeper的话,tomcat会一直等待zookeeper的响应

    

  12.好了,基本搞定,访问127.0.0.1:8088,就可以看到dubbo的后台管理界面了,到这里就ok(ps,8080端口被占用改成了8088,后台的账户密码,在WEB-INF/dubbo.properties里修改)

    

如果还有不太懂得地方,请联系我http://120.76.205.151/Sunne/about/me,感谢陛下阅读和指正。

  

原文地址:https://www.cnblogs.com/Sunne/p/8035203.html