• 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地址换了,并且节点显示只剩下两个。

  • 相关阅读:
    vue+webpack搭建项目基础架构
    vue入门学习篇——父子组件通信
    vue入门学习篇——数据双向绑定原理及简单实现
    vue入门学习篇——挂载点、实例、模版之间的关系
    毫秒转成天、小时、分钟、秒
    可执行jar包的MANIFEST.MF
    fsck系统修复
    HDFS, YARN, HBase, Hive, ZooKeeper端口说明
    解压 tar zxvf 文件名.tar.gz 压缩 tar zcvf 文件名.tar.gz 目标名
    Linux学习笔记之RedHat Enterprise Linux 6.4 使用 Centos 6 的yum源问题
  • 原文地址:https://www.cnblogs.com/carriezhangyan/p/11492513.html
Copyright © 2020-2023  润新知