zookeeper伪集群+dubbo

一、简介

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地 松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提 供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容。

主要核心部件:

* Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制.

* RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能

* Registry: 服务目录框架用于服务的注册和服务事件发布和订阅

Dubbo工作原理
    * Provider
        * 暴露服务方称之为“服务提供者”。
    * Consumer
        * 调用远程服务方称之为“服务消费者”。
    * Registry(使用zookeeper)
        * 服务注册与发现的中心目录服务称之为“服务注册中心”。
    * Monitor
        * 统计服务的调用次调和调用时间的日志服务称之为“服务监控中心”。

二、PROVIDER安装部署
1.JDK安装
  1.1 检查和卸载自带jdk
    [[email protected] ~]# java -version
    java version "1.6.0_24"
    [[email protected] ~]# rpm -qa | grep java
    [[email protected] ~]# rpm -e --nodeps tzdata-java-2013g-1.el6.noarch
    [[email protected] ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
    [[email protected] ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

1.2 安装jdk1.7
    上传jdk
     tar -zxvf jdk-7u55-linux-x64.tar.gz
    cp -R jdk1.7.0_55 /usr/java
    # vim /etc/profile
    修改/etc/profile 最后面加入
        export JAVA_HOME=/usr/java
        export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
        export PATH=$PATH:$JAVA_HOME/bin
     保存退出。运行 #source /etc/profile
    # update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_55/bin/java 60
    # update-alternatives --config java
    # java -version

2.TOMCAT安装
    2.1 下载&安装
        wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.tar.gz
        tar -xzvf apache-tomcat-7.0.57.tar.gz
        #将解压缩后的文件夹拷贝到 /opt/tomcat7:
        cp -R apache-tomcat-7.0.57  /opt/tomcat7
        #添加专用OS用户
        useradd -s /sbin/nologin tomcat
        chown -R tomcat:tomcat /opt/tomcat7
        #进入tomcat目录设置tomcat 的内存使用情况及其他配置:
        cd  /opt/tomcat7/bin
        vi daemon.sh
        #在正文开始的地方加入以下内容(内存等要结合硬件调优)【此脚本可以直接上传 】
        # chkconfig: 2345 20 80
        # description: simple example to start tomcat
        JAVA_HOME=/usr/java
        CATALINA_HOME=/opt/tomcat7
        CATALINA_OPTS="-Xms1024m -Xmx4096m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/tomcat"

2.2 设置成自启动服务
        wget http://mirror.bit.edu.cn/apache//commons/daemon/source/commons-daemon-1.0.15-src.tar.gz
        tar -zxvf commons-daemon-1.0.15-src.tar.gz
        cd commons-daemon-1.0.15-src/src/native/unix
        ./configure
        make
      #复制jsvc到/opt/tomcat7/bin目录下面
        cp jsvc /opt/tomcat7/bin
        cp jsvc /etc/bin
        cd /opt/tomcat7/bin
        cp daemon.sh  /etc/init.d/tomcat
        chmod 755  /etc/init.d/tomcat
        chkconfig --add tomcat
        chkconfig tomcat on
        chkconfig --list tomcat
        显示:
        tomcat 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 确认2~5为on的状态就OK

2.3 启动tomcat
        service tomcat start
        #增加防火墙配置,允许8080端口【暂时不开启防火墙】:
        vi /etc/sysconfig/iptables
        #在允许ssh的下面增加一条(只面向Web服务器开放权限!!!):
            iptables -A INPUT -p tcp -s 192.168.1.1 --dport 8080 -j ACCEPT
            /etc/rc.d/init.d/iptables save
            service iptables restart
            iptables -L -n
    2.4 查看tomcat进程
        ps aux | grep tomcat
        
三、ZK+DUBBO安装
TOMCAT参见上方

3.ZOOKEEPER安装【伪集群】
    3.1 下载安装
    wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
    tar xzvf zookeeper-3.4.6.tar.gz
    cp -R zookeeper-3.4.6 /zookeeper/server1
    cp -R zookeeper-3.4.6 /zookeeper/server2
    cp -R zookeeper-3.4.6 /zookeeper/server3
    #建立data和log目录
    mkdir -p /zookeeper/server1/data
    mkdir -p /zookeeper/server1/logs
    mkdir -p /zookeeper/server2/data
    mkdir -p /zookeeper/server2/logs
    mkdir -p /zookeeper/server3/data
    mkdir -p /zookeeper/server3/logs
    
    3.2 配置
    #那么首先进入【data】目录,创建一个myid的文件,里面写入一个数字,比如我这个是server1,那么就写一个1,server2对应myid文件就写入2,server3对应myid文件就写个3
    echo 1 >myid
    
    cd /zookeeper/server1/conf
    
        cp zoo_sample.cfg zoo.cfg
        mv zoo_sample.cfg zoo_sample.cfg.bak
        
        vi zoo.cfg
        # The number of milliseconds of each tick
        tickTime=2000
        # The number of ticks that the initial
        # synchronization phase can take
        initLimit=10
        # The number of ticks that can pass between
        # sending a request and getting an acknowledgement
        syncLimit=5
        # the directory where the snapshot is stored.
        # do not use /tmp for storage, /tmp here is just
        # example sakes.
        
        #注意修改
        dataDir=/zookeeper/server1/data
        dataLogDir=/zookeeper/server1/logs
        # the port at which the clients will connect
        clientPort=2181
        #
        # Be sure to read the maintenance section of the
        # administrator guide before turning on autopurge.
        #
        # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
        #
        # The number of snapshots to retain in dataDir
        #autopurge.snapRetainCount=3
        # Purge task interval in hours
        # Set to "0" to disable auto purge feature
        #autopurge.purgeInterval=1
                
        #在文件末尾添加如下内容:
        
        server.1=127.0.0.1:2888:3888
        server.2=127.0.0.1:2889:3889
        server.3=127.0.0.1:2890:3890
        
        #需要注意的是clientPort这个端口如果你是在1台机器上部署多个server,那么每台机器都要不同的clientPort,
        比如我server1是2181,server2是2182,server3是2183,dataDir和dataLogDir也需要区分下。

#最后几行唯一需要注意的地方就是 server.X 这个数字就是对应 data/myid中的数字。你在3个server的myid文件中分别写入了1,2,3,
        那么每个server中的zoo.cfg都配server.1,server.2,server.3就OK了。因为在同一台机器上,后面连着的2个端口3个server都不要一样,
        否则端口冲突,其中第一个端口用来集群成员的信息交换,第二个端口是在leader挂掉时专门用来进行选举leader所用。
        
        server2和server3配置参见server1
        
        3.3 启动
            #分别进入三个服务器的zookeeper-3.4.3/bin目录下,启动服务
          ./zkServer.sh start
          /zookeeper/server1/bin/zkServer.sh start
          /zookeeper/server2/bin/zkServer.sh start
          /zookeeper/server3/bin/zkServer.sh start

#启动完成后,查看服务器状态
            ./zkServer.sh status

3.4接入客户端
        #进入任意一个服务器的zookeeper/bin目录下,启动一个客户端,接入服务。
        ./zkCli.sh –server localhost:3181

4.DUBBOADMIN配置
    cp dubbo-admin-2.8.4-SNAPSHOT.war /opt/tomcat7/webapps
    service tomcat stop
    service tomcat start
    cd /opt/tomcat7/webapps
    mv dubbo-admin-2.8.4-SNAPSHOT dubbo
    service tomcat stop
    service tomcat start
    
    访问dubbo后台: http://localhost:8080/dubbo 默认用户名/密码:root/root

时间: 2024-09-30 14:11:53

zookeeper伪集群+dubbo的相关文章

1.2 Zookeeper伪集群安装

1.2  Zookeeper伪集群安装 zookeeper单机安装配置可以查看 1.1 zookeeper单机安装 1.复制三份zookeeper,分别为zookeeper-3.4.7-node1,zookeeper-3.4.7-node2,zookeeper-3.4.7-node3 2.修改每个zookeeper文件夹下的配置文件 大部分配置与单机相同,核心为server的配置 server.1=localhost:2887:3887 server.2=localhost:2888:3888

ZooKeeper伪集群环境搭建

1.从官网下载程序包. 2.解压. [[email protected] software]$ tar xzvf zookeeper-3.4.6.tar.gz 3.进入zookeeper目录后创建data目录. [[email protected] software]$ cd zookeeper-3.4.6 [[email protected] software]$ mkdir data [[email protected] software]$ cd data [[email protecte

win10环境下搭建zookeeper伪集群

一.下载zookeeper https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 这里笔者下载的是zookeeper-3.3.6 二.配置zookeeper 1.解压到三个目录 我们想要在单机上搭建3个server的伪集群,需要将下载好的zookeeper压缩包解压到三个目录下.笔者的目录如下: server1 : F:\paths\zookeeper\server1\zookeeper-3.3.6 server2 : F:\paths\z

[dubbo实战] dubbo+zookeeper伪集群搭建

zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待.所以可以通过zookeeper集群解决. 一.为什么需要zookeeper呢? 大部分分布式应用需要一个主控.协调器或者控制器来管理物理分布的子进程.目前,大多数都要开发私有的协调程序,缺乏一个通用机制,协调程序的反复编写浪费,且难以形成通用.伸缩性好的协调器,zookeeper提供通用的分布式锁服务,用以协调分布式应用.所以说zookeeper是分布式应用的协作服务. 二.zookeeper的工作原理 核心

dubbo+zookeeper伪集群配置

zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待.所以可以通过zookeeper集群解决. 一.为什么需要zookeeper呢? 大部分分布式应用需要一个主控.协调器或者控制器来管理物理分布的子进程.目前,大多数都要开发私有的协调程序,缺乏一个通用机制,协调程序的反复编写浪费,且难以形成通用.伸缩性好的协调器,zookeeper提供通用的分布式锁服务,用以协调分布式应用.所以说zookeeper是分布式应用的协作服务. 二.zookeeper的工作原理 核心

zookeeper伪集群搭建

下载地址:http://mirror.bit.edu.cn/apache/zookeeper/ yum install telnet -y -y 不再提示 全部选择yes 1.解压三个zk文件夹分别为 zk8081 zk80822.zk2181: mkdir data mkdir logs touch /daata/myid 写入1zk2182: mkdir data mkdir logs touch /daata/myid 写入2zk2183: mkdir data mkdir logs to

zookeeper 伪集群模式安装

伪集群, 是指在单台机器中启动多个zookeeper进程, 并组成一个集群. 以启动3个zookeeper进程为例 1.找到zk目录,复制两份 cp -r zk zk2 cp -r zk zk3 2.分别修改配置文件zoo.cfg dataDir=/opt/zk/zk/data dataLogDir=/opt/zk/zk/logs server.0=127.0.0.1:5555:6666 server.1=127.0.0.1:5556:6667 server.2=127.0.0.1:5557:6

zookeeper 伪集群搭建

简介Zookeeper 是 一个分布式.开放源码的分布式应用程序协调服务,是Google Chubby的一个开源实现,大多数的分布式应用都需要Zookeeper的支持,这篇文章先简单的和大家分享如何搭建一个zookeeper集群.(笔者注:Chubby是一个lock service,通过这个lock service可以解决分布式中的一致性问题.为这个lock service的实现是一个分布式的文件系统. 环境: 由于我是用自己的笔记本做实验,所以就用了一台虚拟机:其实和真实的差不多:也就配置有些

配置zookeeper伪集群出现的问题

为每个zookeeper分配不同端口,以下是其中一个zk实例(多机集群通常一台机器一个实例)的配置: tickTime=2000 initLimit=10 syncLimit=5 dataDir=/tmp/zookeeper1/data dataLogDir=/tmp/zookeeper1/logs clientPort=12181 #server.id=host:port:port server.1=127.0.0.1:12181:13181 server.2=127.0.0.1:12182: