zoukankan      html  css  js  c++  java
  • Dubbo学习总结(3)——Dubbo-Admin管理平台和Zookeeper注册中心的搭建

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

           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,从Oracle的Java网站下载,安装很简单,就不再详述。其中zookeeper的下载地址是http://www.apache.org/dyn/closer.cgi/zookeeper/,下载后直接解压,不用安装。

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

    [html] view plaincopy
    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  

    [plain] view plaincopy
    1. dataDir=/tmp/zookeeper  
    改成如下:

    [html] view plaincopy
    1. <pre name="code" class="html">dataDir=D:\Java\Tool\zookeeper-3.4.6\tmp</pre>  
    这里可以改成自己喜欢的
    其中,
    [html] view plaincopy
    1.     tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。  
    2.     dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。  
    3.     dataLogDir:顾名思义就是 Zookeeper 保存日志文件的目录  
    4.     clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。  
    5.   
    6. 当这些配置项配置好后,你现在就可以启动 Zookeeper 了,启动后要检查 Zookeeper 是否已经在服务,可以通过 netstat – ano 命令查看是否有你配置的 clientPort 端口号在监听服务  

    单机安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个目录如:D:JavaToolzookeeper-3.4.6下,Zookeeper 的启动脚本在 bin 目录下,Windows 下的启动脚本是bin文件下的如,D:JavaToolzookeeper-3.4.6in 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-masterdubbo-masterdubbo-admin,有人把整个工程都编译了,其实没有必要,只需要编译dubbo-admin即可,有什么依赖的,maven会自动帮你解决。整个过程如下:

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


    然后输入命令

    [html] view plaincopy
    1. mvn package -Dmaven.skip.test=true  
    这里要自己把maven的环境变量配置好,这里的-Dmaven.skip.test表示不打包测试包。然后结果如下,表示打包成功


    再打开项目的文件所在位置:E:下载dubbo-masterdubbo-masterdubbo-admin arget

    target表示构建的本地路径,打开,里面有个文件dubbo-admin-2.5.4-SNAPSHOT.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:JavaToolapache-tomcat-7.0.62webappsdubbo-admin-2.5.4-SNAPSHOTWEB-INF


    是否是如下内容:

    [html] view plaincopy
    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地址。但还是看看比较安全


    5. 访问:

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

    启动zookeeper

    启动tomcat

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

    弹出如下:



    输入用户名和密码都是root

    就会看到:


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


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

  • 相关阅读:
    【Web】JavaScript 语法入门
    tar 和gzip 的区别
    状态码,好记
    PyCharm与git/GitHub取消关联
    在Ubuntu下安装deb包需要使用dpkg命令
    linux每日命令(4):解压命令
    Python之os.path.join()
    Python的JAVA胶水——jpype
    python之chardet验证编码格式
    python之arrow时间处理模块
  • 原文地址:https://www.cnblogs.com/zhanghaiyang/p/7213330.html
Copyright © 2011-2022 走看看