参考博客:
 
内容基本来自小宝鸽的博客,部分小地方自己稍作修改。
 
=============================================================================
=== zookeeper搭建 ===
=============================================================================
 
一、Zookeeper的介绍
 
  Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是HadoopHbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。
  Zookeeper作为Dubbo服务的注册中心,Dubbo原先基于数据库的注册中心,没采用 Zookeeper,Zookeeper一个分布式的服务框架,是树型的目录服务的数据存储,能做到集群管理数据 ,这里能很好的作为Dubbo服务的注册中心,Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提供者重启时,能自动恢复注册数据。
  关于Zookeeper的部署,但是在生产环境中,你最好部署3,5,7个节点。部署的越多,可靠性就越高。但是,我们作为本地自己熟练使用,部署一个就够了,部署一个Zookeeper是十分简单的。下面是单机部署Zookeeper的实例。
 
二、Zookeeper的部署
 
  2.1、 ZooKeeper的下载
  2.2、配置
  下载后解压,Zookeeper 的配置文件在 conf 目录下,有 zoo_sample.cfg 和 log4j.properties,将zoo_sample.cfg 重命名成zoo.cfg,或者复制一份重新命名为zoo.cfg。因为 Zookeeper 在启动时会找这个文件作为默认配置文件。
  下面介绍zoo.cfg文件里面几个配置的意义:
  (1)、tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。 
  (2)、dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。 
  (3)、clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
  我们需要进行的操作是修改dataDir这个配置的值,我们在Zookeeper的根目录下新建一个文件夹 dataTmp,我的对应路径为:dataLogDir=E:/Study/dubbo/zookeeper-3.4.9/dataTemp
  修改配置文件对应地方为:  
  dataDir=E:/Study/dubbo/zookeeper-3.4.9/dataTmp

  2.3、运行

  启动Zookeeper目录下bin下的zkServer.cmd,我的是E:\Study\dubbo\zookeeper-3.4.9\bin\zkServer.cmd:
  
  启动之后一直开着,不要关掉这个cmd,记得要在Dubbo消费者和提供者运行之前就开启Zookeeper。
 
 
=============================================================================
=== dubbo搭建 ===
=============================================================================
 
一、前言
 
  dubbo的使用,其实只需要有注册中心,消费者,提供者这三个就可以使用了,但是并不能看到有哪些消费者和提供者,为了更好的调试,发现问题,解决问题,因此引入dubbo-admin。通过dubbo-admin可以对消费者和提供者进行管理。
 
二、下载与配置打包
 
  dubbo的下载,可自行到官网下载:https://github.com/alibaba/dubbo 
 
  下载下来是这样的一个目录结构:
  
  接下来我们将项目打包成war包,网上看到很多同学打包会出问题,我按照小宝鸽的方法也出现了问题,看了部分评论也有问题(注:我JDK版本是1.7),最后通过搜索解决了,直接在dubbo-master根目录下运行命令:
  

  mvn clean install -Dmaven.test.skip
  
  这里有个小技巧,可以在目录文件夹下按住Shift再右击鼠标,可以直接打开终端,就不用cd进目标目录:
  
  如果出现什么内容不足可以先设置内存大小,命令为(大小自己修改):
  

  set MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=512m
  如果看到如下结果,说明打包成功了:
  
  打包成功之后,就会发现dubbo-admin下多了个target文件夹,打开target文件夹,发现里面有个war包:
  
 
三、安装dubbo-admin
 
  第二步我们得到dubbo-admin-2.5.4-SNAPSHOT.war,下面我们将这个war包部署到tomcat上。把dubbo-admin-2.5.4-SNAPSHOT.war放到tomcat的webapps目录下:
 
  然后打开tomcat的conf目录下的server.xml文件,把启动端口改成8090,因为zookeeper默认使用的是8080,以免冲突:
  
  启动tomcat,让它把war解压了,打开刚刚tomcat解压生成的dubbo.properties,在WEB-INF目录下,内容如下:
  

  dubbo.registry.address=zookeeper://127.0.0.1:2181
  dubbo.admin.root.password=root
  dubbo.admin.guest.password=guest
  这里有两个账号:root/root和guest/guest
 
四、下面运行
 
  先启动zookeeper,然后在启动tomcat,访问地址:http://localhost:8090/dubbo-admin-2.5.4-SNAPSHOT/
  
  
  输入刚刚的用户名root和密码root:
 
  
  到此,大功告成。
 
 

dubbo+zookeeper搭建笔记的更多相关文章

  1. SpringBoot + Dubbo + zookeeper 搭建简单分布式服务

    SpringBoot + Dubbo + zookeeper 搭建简单分布式服务 详细操作及源码见: https://github.com/BillyYangOne/dubbo-springboot

  2. Spring boot dubbo+zookeeper 搭建------基于gradle项目的消费端与服务端分离实战

    1. Dubbo简介 Dubbo是Alibaba开源的分布式框架,是RPC模式的一种成熟的框架,优点是可以与Spring无缝集成,应用到我们的后台程序中.具体介绍可以查看Dubbo官网. 2. Why ...

  3. Dubbo+zookeeper搭建环境学习笔记

    Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 1.单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本 ...

  4. java学习笔记(二)分布式框架Dubbo+zookeeper搭建

    参考文章http://www.cnblogs.com/sxjun/p/6963844.html 注意的几个问题: 1.配置dubbo.properties 将以下地址改为你Zookeeper注册的地址 ...

  5. dubbo+zookeeper搭建时报错java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy

    说一下我的环境: jdk1.8 dubbo2.6.1 zookeeper3.4.10 maven3.3.9 搭建demo时报错:java.lang.NoClassDefFoundError: org/ ...

  6. 从头开始搭建一个dubbo+zookeeper平台

    本篇主要是来分享从头开始搭建一个dubbo+zookeeper平台的过程,其中会简要介绍下dubbo服务的作用. 首先,看下一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越多之后 ...

  7. dubbo+zookeeper简单环境搭建

    dubbo+zoopeeper例子 [TOC] 标签(空格分隔): 分布式 dubbo dubbo相关 dubbo是目前国内比较流行的一种分布式服务治理方案.还有一种就是esb了.一般采用的是基于Ap ...

  8. 搭建一个dubbo+zookeeper平台

    本篇主要是来分享从头开始搭建一个dubbo+zookeeper平台的过程,其中会简要介绍下dubbo服务的作用. 首先,看下一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越多之后 ...

  9. 搭建SpringBoot+dubbo+zookeeper+maven框架(二)

    上一篇文章是关于搭建SpringBoot+dubbo+zookeeper+maven框架的,但是里面的功能还不够完善,今天就日志管理方面做一些改善. 下了demo的网友可能会发现项目在启动时会有警告: ...

随机推荐

  1. eclipse中部署项目到tomcat启动,一直是starting状态

    这个问题主要是在eclipse中设置了proxy代理导致的,将Network Connections中的Active Provider更改即可! 打赏

  2. 第一次个人编程作业·寒假

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/SE/ 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy ...

  3. cc.progressFromTo cc.progressTo(action 在duration中ProgressTimer的Percentage变化)

    let progressTimer= new cc.ProgressTimer(new cc.Sprite(fileName));this.addChild(progressTimer);progre ...

  4. 1.spring异常:Caused by: java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springfr ...

  5. 微信小程序 selectComponent 值为null

    这个东西的执行时间感觉有点迷, 我遇到的情况是在page 的onReady  onShow 当中 使用 selectComponent 无法获取到子组件的对象 只好退而求其次  在需要触发的方法当中 ...

  6. 解决PHP Redis扩展无法加载的问题

    最近在工作中需要使用PHP访问Redis,从https://github.com/phpredis/phpredis下载了phpredis,并且按照官方的说明进行了安装 phpize ./config ...

  7. zabbix4.2配置监控MySQL

    1.在被监控主机安装好MySQL 相关步骤省略. 2.创建监控所需要的MySQL账户(MySQL服务器端) MariaDB [(none)]>grant usage on *.* to zabb ...

  8. IIS支持json、geojson文件

    最近在搞asp.net + openlayers. 其中openlayer有个数据源支持 .geojson 数据,但是怎么测试都不能成功.同样的数据拿到php下就能成功显示. 搓. 在网上漫无目的的搜 ...

  9. C语言-条件编译使用分析

    1.基本概念 条件编译的行为类似于C语言中的if…else… 条件编译是预编译指示命令,用于控制是否编译某段代码 2.实例分析 条件编译初探     22-1.c #include <stdio ...

  10. JS jQuery 点击页面漂浮出文字

    看到有些网站点击页面任意地方都会弹出文字出来 感觉很炫酷 但其实实现方法很简单 哇哈哈哈~~~ // 调用 ( e, 消失毫秒, 数组, 向上漂浮距离) $(document).click(funct ...