林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是HadoopHbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容。

本机环境: JDK:1.8

                    Maven:apache-maven-3.2.1

                   zookeeper:zookeeper-3.4.6

                   Tomcat:apache-tomcat-7.0.62

                  Dubbo-admin:dubbo-admin-2.5.4-SNAPSHOT.war 这是我自己本地打包生成的(下载地址:http://download.csdn.NET/detail/evankaka/9054273)

一、zookeeper安装与启动

首先需要安装JdK,从OracleJava网站下载,安装很简单,就不再详述。其中zookeeper的下载地址是http://www.apache.org/dyn/closer.cgi/zookeeper/,下载后直接解压,不用安装。

在你执行启动脚本之前,还有几个基本的配置项需要配置一下,Zookeeper 的配置文件在 conf 目录下,这个目录下有 zoo_sample.cfg 和 log4j.properties,你需要做的就是将 zoo_sample.cfg 改名为 zoo.cfg,因为 Zookeeper 在启动时会找这个文件作为默认配置文件。下面详细介绍一下,这个配置文件中各个配置项的意义。

  1. # The number of milliseconds of each tick
  2. tickTime=2000
  3. # The number of ticks that the initial
  4. # synchronization phase can take
  5. initLimit=10
  6. # The number of ticks that can pass between
  7. # sending a request and getting an acknowledgement
  8. syncLimit=5
  9. # the directory where the snapshot is stored.
  10. # do not use /tmp for storage, /tmp here is just
  11. # example sakes.
  12. dataDir=D:\\Java\\Tool\\zookeeper-3.4.6\\tmp
  13. # the port at which the clients will connect
  14. clientPort=2181
  15. # the maximum number of client connections.
  16. # increase this if you need to handle more clients
  17. #maxClientCnxns=60
  18. #
  19. # Be sure to read the maintenance section of the
  20. # administrator guide before turning on autopurge.
  21. #
  22. # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
  23. #
  24. # The number of snapshots to retain in dataDir
  25. #autopurge.snapRetainCount=3
  26. # Purge task interval in hours
  27. # Set to "0" to disable auto purge feature
  28. #autopurge.purgeInterval=1

  1. dataDir=/tmp/zookeeper

改成如下:

  1. <pre name="code" class="html">dataDir=D:\\Java\\Tool\\zookeeper-3.4.6\\tmp</pre>

这里可以改成自己喜欢的
其中,

  1. tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
  2. dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
  3. dataLogDir:顾名思义就是 Zookeeper 保存日志文件的目录
  4. clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
  5. 当这些配置项配置好后,你现在就可以启动 Zookeeper 了,启动后要检查 Zookeeper 是否已经在服务,可以通过 netstat – ano 命令查看是否有你配置的 clientPort 端口号在监听服务

单机安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个目录如:D:\Java\Tool\zookeeper-3.4.6下,Zookeeper 的启动脚本在 bin 目录下,Windows 下的启动脚本是bin文件下的如,D:\Java\Tool\zookeeper-3.4.6\bin\ zkServer.cmd。

启动如下:

输入JPS,出现如下,也说明启动成功

上面的黑色框框不关,就表示注册中心一直开关的,一定要记得注册中心要在程序运行之前就打开,而且是一直开着的

二、Dubbo-admin管理平台的安装

1.1、dubbo-admin 本地编译打包

因为zookeeper只是一个黑框,我们无法看到是否存在了什么提供者或消费者,这时就要借助Dubbo-Admin管理平台来实时的查看,也可以通过这个平台来管理提者和消费者。
        dubbo-admin.war可在网上百度去下载,但是我下载了好几个war包,发布上去服务启动都报错,这个时候大概是我们系统的JDK和编译dubbo-admin.war的JDK版本不同导致的了。所以我之后直接下载了dubbo-master的源代码,然后自己编译了一个war包,这样就不会存在启动报错的问题了。(这里强烈建议自己编译一个,网上找的基本都不行,试了很多个,最后还是自己来搞)其中自己电脑编译的过程如下,一定在安装maven和jdk!

dubbo的所有源码可在https://github.com/alibaba/dubbo上下载。下好之后解压

解压后的文件内容,这里你其它的都不用去管,只管dubbo-admin.

因为这里只需要编译Dubbo-Admin,所以打开Cmd,然后进入解压路径 E:\下载\dubbo-master\dubbo-master\dubbo-admin,有人把整个工程都编译了,其实没有必要,只需要编译dubbo-admin即可,有什么依赖的,maven会自动帮你解决。整个过程如下:

首先,通过cmd进入目录,输入命令

然后输入命令

  1. mvn package -Dmaven.skip.test=true

这里要自己把maven的环境变量配置好,这里的-Dmaven.skip.test表示不打包测试包。然后结果如下,表示打包成功

再打开项目的文件所在位置:E:\下载\dubbo-master\dubbo-master\dubbo-admin\target

target表示构建的本地路径,打开,里面有个文件dubbo-admin-2.5.4-SNAPSHOT.war表示打包成功,如果打包时遇到问题,还需要解决打包的问题,可能需要修改dubbo-admin的pom.xml文件。打包完成后,将这个war包得放在Tomcat下才能运行。

这里我已上传这个war包,下载地址:http://download.csdn.net/detail/evankaka/9054273

1.2、dubbo-admin安装

dubbo-admin已打包成功,接下来就容易很多了

1. 安装
将 dubbo-admin-2.5.4-SNAPSHOT.war 拷入 tomcat  webapps中
2. 配置
修改tomcat的端口8088,修改方法如下,打到conf下的文件 server.xml,因为zookeeper会用到8080的端口,所以为了不冲突,把Tomcat的端口改一下。记得一定要改!!!

然后修改

3、启动一下Tomcat,让它把war解压了

过程如下

然后启动

发现webapp下多了一个文件夹

再把 Tomcat给关了,直接stop,上面的按钮

4、修改dubbo.properties

D:\Java\Tool\apache-tomcat-7.0.62\webapps\dubbo-admin-2.5.4-SNAPSHOT\WEB-INF

是否是如下内容:

  1. dubbo.registry.address=zookeeper://127.0.0.1:2181
  2. dubbo.admin.root.password=root
  3. dubbo.admin.guest.password=guest

如果是,就不用改,这里的127.0.0.1对应的是自己的电脑IP,因为这里zookeeper也在自己电脑上,所以要这么写才行。一般情况下都是不需要改的,因为初始都是本地的IP地址。但还是看看比较安全。dubbo.registry.address指向的是需要监测的zookeeper地址。

5. 访问:

这下全部都配置好了,首先,一定要先启动zookeeper启动后再去启动tomcat!一定要先启动zookeeper启动后再去启动tomcat!一定要先启动zookeeper启动后再去启动tomcat!重要的事情三遍!

启动zookeeper

启动tomcat

访问http://localhost:8088/dubbo-admin-2.5.4-SNAPSHOT/ 一定要注意名一定要和你webapp下的工程名一样!!

弹出如下:

输入用户名和密码都是root

就会看到:

出现以下界面说明安装配置成功,登录密码为root/root

 

这下子就大功告成了,可以开始来使用了~~~~~~~~

Dubbo-Admin管理平台和Zookeeper注册中心的搭建(只支持jdk7)的更多相关文章

  1. Dubbo学习总结(3)——Dubbo-Admin管理平台和Zookeeper注册中心的搭建

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...

  2. Dubbo-Admin管理平台和Zookeeper注册中心的搭建(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubb ...

  3. Dubbo(六):zookeeper注册中心的应用

    Dubbo中有一个非常本质和重要的功能,那就是服务的自动注册与发现,而这个功能是通过注册中心来实现的.而dubbo中考虑了外部许多的注册组件的实现,zk,redis,etcd,consul,eurek ...

  4. dubbo实战之三:使用Zookeeper注册中心

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. Zookeeper注册中心的搭建

    一.Zookeeper的介绍 Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用 ...

  6. 关于dubbo和zookeeper 注册中心

    Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载.如果不想使用Sprin ...

  7. dubbo连接zookeeper注册中心因为断网导致线程无限等待问题【转】

    最近维护的系统切换了网络环境,由联通换成了电信网络,因为某些过滤规则导致系统连不上zookeeper服务器(应用系统机器在深圳,网络为电信线路,zookeeper服务器在北京,网络为联通线路),因为我 ...

  8. Dubbo框架应用之(三)--Zookeeper注册中心、管理控制台的安装及讲解

    我是在linux下使用dubbo-2.3.3以上版本的zookeeper注册中心客户端.Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注册中心.Dubbo未对 ...

  9. Dubbo(二):zookeeper 注册中心

    zookeeper 注册中心 Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并 ...

随机推荐

  1. HDU3047 Zjnu Stadium 【带权并查集】

    HDU3047 Zjnu Stadium Problem Description In 12th Zhejiang College Students Games 2007, there was a n ...

  2. 通过解读 WPF 触摸源码,分析 WPF 插拔设备触摸失效的问题(问题篇)

    在 .NET Framework 4.7 以前,WPF 程序的触摸处理是基于操作系统组件但又自成一套的,这其实也为其各种各样的触摸失效问题埋下了伏笔.再加上它出现得比较早,触摸失效问题也变得更加难以解 ...

  3. 如何在 .NET 库的代码中判断当前程序运行在 Debug 下还是 Release 下

    我们经常会使用条件编译符 #if DEBUG 在 Debug 下执行某些特殊代码.但是一旦我们把代码打包成 dll,然后发布给其他小伙伴使用的时候,这样的判断就失效了,因为发布的库是 Release ...

  4. PHP和JS页面跳转和刷新总结

    PHP 页面跳转: // 只是跳转,所以一定要用die();或者exit;终止下一步操作; header('location:index.php'); exit; // 等待3秒,跳转并刷新 head ...

  5. 一些IPC常用头文件

    //my_err.h#include <errno.h> /* for definition of errno */ #include <stdarg.h> /* ISO C ...

  6. 如何使用 nslookup 查域名的 ttl

    如何使用 nslookup 查域名的 ttl nslookup 经常用,但是最近才使用到查 ttl 的信息. 域名的 ttl 也是网站优化的一个重要参数. nslookup -d www.fastad ...

  7. 基于spring的异常一站式解决方案

    https://segmentfault.com/a/1190000006749441#articleHeader4 https://lrwinx.github.io/2016/04/28/%E5%A ...

  8. Redis简单介绍与安装

    Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. Redis有三个主要特点,使它优越于其它键值数据存储系统 - 1) Redis将其数据库完全保存在内 ...

  9. HTTP 报文首部

    1.HTTP 报文首部 HTTP 协议的请求和响应报文中必定包含 HTTP 首部.首部内容为客户端和服务器分别处理请求和响应提供所需要的信息. 1)HTTP请求报文:在请求中,HTTP报文由方法.UR ...

  10. [转载]Linux下getopt()函数的简单使用

    转载源地址:https://www.cnblogs.com/qingergege/p/5914218.html 1.getopt()函数的出处就是unistd.h头文件(哈哈),写代码的时候千万不要忘 ...