参考博客:
 
内容基本来自小宝鸽的博客,部分小地方自己稍作修改。
 
=============================================================================
=== 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. TD - SimpleTextarea

    html模板 <input dojoType="bootstrap.form.SimpleTextarea" dojoAttachPoint="assetDescr ...

  2. Gogs的Docker容器化部署流程遇到的问题

    Gogs的Docker容器化部署流程遇到的问题   最近在学习CI/CD的一些方案,个人比较青睐容器化轻量级.CI方面一开始是想使用gitlab的,但是发现我自己买的服务器配置太低,内存根本不够(大写 ...

  3. bzoj 1483

    Description N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色. Input 第 ...

  4. Devexpress 18.2.7 破解

    1.破解文件下载 链接:https://pan.baidu.com/s/1DVANKYR3dBeHuc8DgPUihA 提取码:fyll 2.破解方式 解决压缩包,解压之后选中 DevExpress. ...

  5. 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)

    我没有实现时间复杂度为O(n)的算法. 思路:从第一数开始,onelist[0]:onelist[0]+onelist[1]:这样依次推算出每个子数组的sum值.和max进行比较.最后得到max值. ...

  6. C++ 深拷贝实例-改变原生数组

    深拷贝 main.cpp #include <stdio.h> #include "IntArray.h" int main() { IntArray a(); ; i ...

  7. 赋值SQL语句

    UPDATE TAB_DEV_MS SET DT_DETECTION_STARTTIME = TO_DATE ( '2017-01-01 00:00:00', 'YYYY-MM-DD HH24:MI: ...

  8. tomcat集群搭建集成nginx负载均衡

    软件基础+版本: 1.3台centos7系统,其中都已经配置完成了jdk环境,jdk的版本为 [root@node03 bin]# java -version java version "1 ...

  9. Unity 读取Json常用的两种方式

    使用的是Litjson 1.读取本地Json public void ReadJson() { StreamReader streamReader = new StreamReader(Applica ...

  10. FineUIPro/Mvc/Core v6.1.0 发布了!

    FineUIPro/Mvc/Core v6.1.0 正式发布了(2019-12-25),这个版本主要是BUG修正,并增加了一些新特性,建议升级到此版本. 在列举新版本特性之前,我们先来回顾下每次发布大 ...