dubbo和zookeeper的关系

简单来说打个比方:dubbo就是动物园的动物,zookeeper是动物园。如果游客想看动物的话那么就去动物园看。比如你要看老虎,那么动物园有你才能看到。换句话说我们把很多不同的dubbo(动物)放到zookeeper(动物园中)提供给我们游客进行观赏。这个过程中三个关键:场所、供给者、消费者。

1.   Zookeeper的作用:

zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是ip地址和服务名称的对应关系。当然也可以 通过硬编码的方式把这种对应关系在调用方业务代码中实现,但是如果提供服务的机器挂掉调用者无法知晓,如果不更改代码会继续请求挂掉的机器提供服务。 zookeeper通过心跳机制可以检测挂掉的机器并将挂掉机器的ip和服务对应关系从列表中删除。至于支持高并发,简单来说就是横向扩展,在不更改代码 的情况通过添加机器来提高运算能力。通过添加新的机器向zookeeper注册服务,服务的提供者多了能服务的客户就多了。

2.  dubbo:

是管理中间层的工具,在业务层到数据仓库间有非常多服务的接入和服务提供者需要调度,dubbo提供一个框架解决这个问题。

注意这里的dubbo只是一个框架(项目),至于你架子上放什么是完全取决于你的,就像一个汽车骨架,你需要配你的轮子引擎。这个框架中要完成调度必须要有一个分布式的注册中心,储存所有服务的元数据,你可以用zk,也可以用别的,只是大家都用zk。

zookeeper运行环境

  ZooKeeper服务器是用Java编写创建,它运行在JVM。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

配置说明

  1:文件下载:

  zookeeper-3.4.8.tar.gz包,

  jdk-7u80-linux-x64.tar.gz包,

  apache-tomcat-7.0.68.tar.gz包,

  dubbo-admin-2.5.3.war管理项目,

  注意Zookeeper版本要与jdk版本兼容

  2:通过Filezilla或别的工具连接Linux,并将以上下载的文件放入路径/usr/local/tmp下

  3:打开Xshell连接linux

  跳转:cd /usr/local/tmp

  4:jdk及tomcat安装配置:

    解压--->移动--->配置环境变量

    tar zxvf jdk-7u80-linux-x64.tar.gz

    cp -r jdk-7u80-linux-x64 ../jdk

    tar zxvf apache-tomcat-7.0.68.tar.gz

    cp -r apache-tomcat-7.0.68 ../tomcat

    vim /etc/profile

      在profile文件中配置jdk及Tomcat环境变量

      export JAVA_HOME=/usr/local/jdk

      export PATH=$JAVA_HOME/bin:$PATH

      export TOMCAT_HOME=/usr/local/tomcat

      export CATALINA_HOME=/usr/local/tomcat

    :wq保存退出后使修改的文件生效

    source /etc/profile

  5:Zookeeper安装配置

    tar zxvf zookeeper-3.4.8.tar.gz

    cp -r zookeeper-3.4.8 ../zookeeper

    5.1 到zookeeper目录创建一个data文件夹

      cd /usr/local/zookeeper

      mkdir data

    5.2 在zookeeper下的conf目录下复制一份zoo_sample.cfg并改为zoo.cfg

      cp -r zoo_sample.cfg zoo.cfg

    5.3 修改zoo.cfg配置文件中dataDir属性为dataDir=/usr/local/zookeeper/data

      vim zoo.cfg

      dataDir=/usr/local/zookeeper/data

      留意:clientPort=2181为zookeeper端口号

      保存退出

  6:设置防火墙放行2181及8080的端口(后面Tomcat启动使用的是8080端口)

    vim /etc/sysconfig/iptables

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

    :wq回车

    server iptables restart  重启防火墙服务

  7:启动zookeeper服务

    cd /usr/local/zookeeper/bin

    ./zkServer.sh start(查看启动状态./zkServer.sh status)

  8:启动Tomcat服务

    cd /usr/local/tomcat/bin

    ./startup.sh  

  9:部署管理项目到Tomcat下

    cd /usr/local/tmp

    cp -r dubbo-admin-2.5.3.war ../tomcat/webapps

    此时Tomcat会自动创建一个dubbo-admin-2.5.3文件夹

  10:关闭Tomcat,删除war包,将dubbo-admin-2.5.3改名为dubbo

    [root@192 tmp]# ../tomcat/bin/shutdown.sh

    cd ../tomcat/webapps

    mv -r dubbo-admin-2.5.3 dubbo

  11:修改项目的注册中心地址

    cd /usr/local/tomcat/webapps/WEB-INF

    vim dubbo.properties

    dubbo.registry.address=zookeeper://127.0.0.1:2181

    :wq退出

  12:重启Tomcat,访问dubbo管理项目地址

    cd /usr/local/tomcat/bin

    ./startup.sh

    http://192.168.48.130:8080/dubbo

    用户名密码均为 root

linux下配置zookeeper注册中心及运行dubbo服务的更多相关文章

  1. linux 下配置多个tomcat同时运行

    一个服务器上内存通常有2G或者更多,一个tomcat 运行管理这么多内存有点力不从心,并且貌似一个进程所能建立的线程数量是有限的,于是我们想要在一个服务器上运行多个tomcat.如下是摘抄自:http ...

  2. Linux 下配置zookeeper集群

    我们首先准备三台服务器,IP地址分别如下(前提是要先安装JDK) 192.168.100.101 192.168.100.102 192.168.100.103 1.配置主机名到IP地址的映射(此步骤 ...

  3. Spring Cloud 系列之 ZooKeeper 注册中心

    什么是注册中心 服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串.路由信息等.服务注册中心是微服务架构中最基础的设施之一. 注册中心可以说 ...

  4. dubbo服务治理中间件,zookeeper注册中心 安装配置

    对传统项目架构进行拆分: 集群概念: 面向服务分布式架构: 服务层提供被注册的对象需要实现序列化接口Serializable: 配置表现层和服务层: 依赖包: 服务层: <!-- 定义dubbo ...

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

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

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

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

  7. springcloud之服务注册与发现(zookeeper注册中心)-Finchley.SR2版

    新年第一篇博文,接着和大家分享springcloud相关内容:本次主要内容是使用cloud结合zookeeper作为注册中心来搭建服务调用,前面几篇文章有涉及到另外的eureka作为注册中心,有兴趣的 ...

  8. Zookeeper注册中心的搭建

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

  9. Zookeeper 注册中心

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

随机推荐

  1. Tomcat出现端口占用错误

    Several ports (8005, 8080, 8009) required by Tomcat v8.5 Server at localhost are already in use. The ...

  2. 马拉车算法,mannacher查找最长回文子串

    作用: 在线性时间内找到一个字符串的最大回文子串 原理: 奇偶变换:为处理字符串方便,现将给定的任意字符串进行处理,使所有可能的奇数/偶数长度的回文子串都转换成了奇数长度. 具体就是在每个字符的两边都 ...

  3. weblogic使用wlst脚本实现自动部署

    创建weblogic的server和cluster ip="10.20.0.2" nwport=8001 wwport=9001 nwlist=[ ('wtdsrwnw','Clu ...

  4. vue+element-ui实现表格checkbox单选

    公司平台利用vue+elementui搭建前端页面,因为本人第一次使用vue也遇到了不少坑,因为我要实现的效果如下图所示 实现这种单选框,只能选择一个,但element-ui展示的是多选框,check ...

  5. 用Volume在主机和Docker容器文件传输

    1.使用Volume在主机和容器之间传输文件. 在官方文档中可以看到使用如下命令即可创建一个volume: Create a volume: $ docker volume create my-vol ...

  6. day13 python迭代器与生成器

    迭代器 字符串.列表.元组.字典.集合都可以被for循环,说明他们都是可迭代的 可迭代协议 : 就是内部实现了__iter__方法 可以被for循环的都是可迭代的,要想可迭代,内部必须有一个__ite ...

  7. 零门槛,包教会。让你在5分钟内使用以太坊ERC20智能合约发行属于自己的空气币

    前言 目前区块链是互联网中最最火的风口,没有之一.我周围的很多朋友也加入了“炒币”行列,但很不幸,几乎都被“割韭菜”了.而经过我的几天研究,发现,如果自己要发行一种空气币,简直太简单了.只需要下面几个 ...

  8. SQL kaggle learn with as excercise

    rides_per_year_query = """ SELECT EXTRACT(YEAR FROM trip_start_timestamp) AS year ,CO ...

  9. HL-D793G七位蓝色+PT6311驱动

    和之前那块一起买的.又画了这个屏幕驱动,还画了灯丝电源驱动,和以前画的stm8核心板在JLC拼板. 亚光黑颜色,不单独收钱! 切好水洗吹干! 忘记给排针加丝印,手写代之. 焊接的时候,脑子发热,以为把 ...

  10. UITextField只能输入数字NSCharacterSet实现

    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementS ...