参考博客:
 
内容基本来自小宝鸽的博客,部分小地方自己稍作修改。
 
=============================================================================
=== zookeeper搭建 ===
=============================================================================
 
一、Zookeeper的介绍
 
  Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。
  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. 《Vue.js实战》--推荐指数⭐⭐⭐⭐

    献上pdf版本的百度网盘链接: https://pan.baidu.com/s/1YRwyR_ygW3tzBx1FbfjO1A 提取码: b255 先来看下目录: 看完这本书大概花了一个星期,走马观花 ...

  2. Python基础教程-02

    <Python基础教程> 第3章 使用字符串 字符串方法find返回的并非布尔值.如果find像这样返回0,就意味着它在索引0处找到 了指定的子串 join可合并一个字符串列表,不能合并数 ...

  3. python 删除git Jenkinsfile文件

    背景:在做ci集成的发现分支超过100个之后,pipline activity列表中前期的分支会被隐藏,这导致master分支在活动视图中不可见 解决方案:删除历史分支的Jenkinsfile 分支太 ...

  4. python之路模块补充

    =======================================json序列化========================================= ============ ...

  5. phpstorm汉化包

    链接:https://pan.baidu.com/s/1dG7AWI87dOJJezra9veFrA 提取码:btmf 下载后放到lib目录中 即可

  6. 虚拟机win7 安装过程中遇到虚拟工具安装失败

    如果遇见这样的问题 倘若你用的是这样的镜像:cn_windows_7_enterprise_x64_dvd_x15-70741.iso 换镜像源.换镜像源.换镜像源! 换成带sp1的iso镜像:cn_ ...

  7. 如何面试QA(面试官角度)

    面试是一对一 或者多对一的沟通,是和候选人 互相交换信息.平等的. 面试的目标是选择和雇佣最适合的人选.是为了完成组织目标.协助人力判断候选人是否合适空缺职位. 面试类型: (1)预判面试(查看简历后 ...

  8. C++ 实例练习-替换原生数组

    C++ 实例练习-替换原生数组 main.cpp #include <stdio.h> #include "intarray.h" int main(int argc, ...

  9. Android基础知识 -- Fragment

    Fragment是android3.0后提供的API(所以android:minSdkVersion="11"以上版本),主要针对平板UI.有自己的生命周期,但是必须依附在Acti ...

  10. 通过CSS禁用页面内容选中和复制操作

    -moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;-khtml-user-select: none;user ...