设为首页 收藏本站
查看: 3088|回复: 1

[经验分享] zookeeper伪集群+dubbo

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-11 13:19:56 | 显示全部楼层 |阅读模式
一、简介

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
    [iyunv@zck ~]# java -version
    java version "1.6.0_24"
    [iyunv@zck ~]# rpm -qa | grep java
    [iyunv@zck ~]# rpm -e --nodeps tzdata-java-2013g-1.el6.noarch
    [iyunv@zck ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
    [iyunv@zck ~]# 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/ ... omcat-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/ ... n-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/z ... keeper-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/ ... 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


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-65928-1-1.html 上篇帖子: zabbix数据库迁移 下篇帖子: zookeeper集群模式配置
累计签到:14 天
连续签到:1 天
发表于 2017-8-23 10:11:43 | 显示全部楼层
说的不够详细,简单的贴配置

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表