zoukankan      html  css  js  c++  java
  • zookeeper+activemq高可用集群搭建

     一、准备工作:

    准备三台机器:
    192.168.35.111
    192.168.35.112
    192.168.35.113

    二、搭建zookeeper

    三台机器上均要搭建zookeeper服务
    // 下载zookeeper安装包

    # wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
    # tar -xvf zookeeper-3.4.10.tar.gz -C /opt
    # cd /opt/zookeeper-3.4.10/conf/
    # cp zoo_sample.cfg zoo.cfg

    // 修改zoo.cfg文件
    # grep -Ev '#|^$' zoo.cfg

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/opt/zookeeper-3.4.10/data_zookeeper
    clientPort=2181
    server.1=192.168.35.111:2888:3888
    server.2=192.168.35.112:2888:3888
    server.3=192.168.35.113:2888:3888

    // 第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888

    这一步很重要,如果顺序对应的数字不对,,会导致zookeeper服务启动失败
    server.1服务器:echo 1 > /opt/zookeeper-3.4.10/zookeeper/myid
    server.2服务器:echo 2 > /opt/zookeeper-3.4.10/zookeeper/myid
    server.3服务器:echo 3 > /opt/zookeeper-3.4.10/zookeeper/myid

    // 启动zookeeper服务

    # /opt/zookeeper-3.4.10/bin/zkServer.sh start #启动服务
    # /opt/zookeeper-3.4.10/bin/zkServer.sh stop #停止服务
    # /opt/zookeeper-3.4.10/bin/zkServer.sh restart #重启服务
    # /opt/zookeeper-3.4.10/bin/zkCli.sh #连接集群

    三、搭建activemq集群

    三台机器上均要搭建activemq服务
    // 下载activemq安装包

    # wget https://archive.apache.org/dist/activemq/5.12.0/apache-activemq-5.12.0-bin.tar.gz
    # tar -xvf apache-activemq-5.12.0-bin.tar.gz -C /opt

    // 修改配置文件 activemq.xml,使用性能比较好的LevelDB替换掉默认的KahaDB

    brokerName 一定要设置相同
    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq-test" dataDirectory="${activemq.data}">

    禁掉 原来的 < kahaDB directory="${activemq.data}/kahadb"/ >
    <persistenceAdapter> <!--kahaDB directory="${activemq.data}/kahadb"/ --> <replicatedLevelDB directory="${activemq.data}/leveldb" replicas="3" bind="tcp://0.0.0.0:62621" zkAddress="192.168.35.111:2181,192.168.35.112:2182,192.168.35.113:2183" hostname="192.168.37.111" # 设为当前主机的ip zkPath="/activemq/leveldb-stores"/> </persistenceAdapter>

    配置项说明:
    directory:持久化数据存放地址
    replicas:集群中节点的个数
    bind:集群通信端口
    zkAddress:ZooKeeper集群地址
    hostname:当前服务器的IP地址,如果集群启动的时候报未知主机名错误,那么就需要配置主机名到IP地址的映射关系。
    zkPath:ZooKeeper数据挂载点
    至此,ActiveMQ的高可用集群搭建完成。

    四、启动集群


    前提:ZooKeeper集群已启动
    分别启动三台ActiveMQ服务器

    # /opt/apache-activemq-5.12.0/bin/activemq start // 启动activemq服务
    # /opt/apache-activemq-5.12.0/bin/activemq stop // 结束activemq服务
    # /opt/apache-activemq-5.12.0/bin/activemq restart // 重启activemq服务
    # /opt/apache-activemq-5.12.0/bin/activemq status // 查看activemq服务状态

    集群启动成功后,ActiveMQ会往ZooKeeper中注册集群信息。为了方便,我们使用ZooInspector工具来查看具体的内容。
    第一条注册信息:

    其他两个


    从以上三条注册信息的内容我们可以看出,(192.168.35.182)被选举为主节点,并对外提供服务,其余两个节点作为从节点,处于待机状态,不提供服务。

    知道了ActiveMQ集群的主节点后,我们可以使用浏览器来访问它的管理页面,查看它是否能正常提供服务.

     

    五、测试集群的高可用性
    关掉主节点,使用ZooInspector工具来查看具体的内容,发现主节点的ip地址换了,并且节点显示只剩下两个。

  • 相关阅读:
    Bootstrap 2.2.2 的新特性
    Apache POI 3.9 发布,性能显著提升
    SQL Relay 0.48 发布,数据库中继器
    ProjectForge 4.2.0 发布,项目管理系统
    红帽企业 Linux 发布 6.4 Beta 版本
    红薯 快速的 MySQL 本地和远程密码破解
    MariaDB 宣布成立基金会
    Percona XtraBackup 2.0.4 发布
    Rocks 6.1 发布,光盘机群解决方案
    精通Servlet研究,HttpServlet的实现追究
  • 原文地址:https://www.cnblogs.com/carriezhangyan/p/11492513.html
Copyright © 2011-2022 走看看