zoukankan      html  css  js  c++  java
  • Azure上搭建ActiveMQ集群-基于ZooKeeper配置ActiveMQ高可用性集群

    ActiveMQ从5.9.0版本开始,集群实现方式取消了传统的Master-Slave方式,增加了基于ZooKeeper+LevelDB的实现方式。

    本文主要介绍了在Windows环境下配置基于ZooKeeper的ActiveMQ高可用性集群,集群实现了主备功能,实现了单点故障时的高可用性,并不涉及负载均衡技术。

    从整体上看,整个安装配置过程主要有以下几个步骤:

    1. Windows Server环境搭建、端口配置
    2. Jre安装配置
    3. Zookeeper安装配置
    4. ActiveMQ安装配置

    本文中我们搭建3个节点的Zookeeper和ActiveMQ集群,整体架构:

    各种组件使用的是:
     基于Windows Azure的Windows Server2012
     JDK 1.7
     ZooKeeper 3.4.6
     ActiveMQ 5.12

    一、 Windows Server环境搭建、端口配置

    我们需要搭建3个Windows Server虚拟机,用作Zookeeper的三个节点以及消息服务器。

    1. 创建Windows Server虚拟机(三个)

    进入Windows Azure的管理控制台,选择New-Compute-Virtual Machine-From Gallery

    选择Windows Server镜像,选择Windows Server2012 R2 DataCenter

    配置以下开放的端口:

    2. 配置端口说明

     

    二、 JRE安装配置

    ZooKeeper和ActiveMQ都依赖于Jdk,因此我们需要先安装配置JDK1.7
    1. JDK下载
    JDK的下载地址为:
    http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-windows-x64.exe?AuthParam=1446712677_06310dc4ac8a4e8664ae69cb80b6659a
    2. JDK安装、配置环境变量
    双击exe直接安装,依次下一步处理,注意,路径中不能包含汉字。

    将JAVA_HOME加入到环境变量,并生效

    环境变量CLASS_PATH:

    .;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;

    三、 安装配置ZooKeeper

    目前我们已经创建了三个Window Server 2012虚拟机

    1. 在10.***.***.47上配置Zookeeper-1
    主要配置Zoo.Cfg文件、新建Data文件夹和myid文件
    zookeeper文件目录:

    修改Conf中的zoo.cfg文件(将zoo_sample.cfg改名为zoo.cfg),

    设置下Data文件夹的路径,例如:dataDir=C:\zookeeper\data
    Data文件夹需要新建
    设置ZooKeeper集群,这里我们用了3个节点,以下是集群配置:
    server.1=10.***.***.47:2888:3888
    server.2=10.***.***.27:2888:3888
    server.3=10.***.***.51:2888:3888
    在Data文件夹下新建MyID文件,MyID文件中的内容为当前Node的ID,例如1

    2. 在10.***.***.27上配置Zookeeper-2
    与配置Zookeeper-1相同,不同的是myid文件的内容:2
    3. 在10.***.***.51上配置Zookeeper-3
    与配置Zookeeper-1相同,不同的是myid文件的内容:3
    4. 启动zookeeper
    Windows下启动Zookeeper是执行bin目录下的zkServer.cmd文件,
    依次启动三个虚拟机上的zookeeper:

    四、 安装配置ActiveMQ集群

    下载ActiveMQ,

    http://mirror.bit.edu.cn/apache/activemq/5.12.0/apache-activemq-5.12.0-bin.tar.gz

    将ActiveMQ拷贝到三个Windows虚拟机中。

    1. 修改ActiveMQ配置
    ActiveMQ的配置文件在Conf文件夹下的ActiveMQ.xml,我们主要修改两个地方:
    BrokerName:三个节点的ActiveMQ的BrokerName必须一致,例如:teldbroker

    persistenceAdaper:主要配置zkAddress(三个Zookeeper节点)和hostname

    hostname是本机的IP

    在其他两个虚拟机上进行统一的配置,注意不同的虚拟机不同的hostname.

    2. 启动ActiveMQ
    在三台虚拟机上依次启动ActiveMQ:在bin目录执行:activemq start

    3. 连接ActiveMQ
    ActiveMQ在集群模式下的连接字符串是不同的:

    failover:(tcp://42.***.***.90:61616,tcp://42.***.***.193:61616,tcp://42.***.***.140:61616)

    ActiveMQ IConnection Demo

    五、 ActiveMQ集群高可用性测试

    1. ActiveMQ集群切换
    关闭当前正在提供服务的ActiveMQ Master节点,其他的Slave节点中选定其中一个自动提升为Master节点。程序可以正常连接MQ服务。
    消息发送完备后,切换ActiveMQ节点,消息可以正常消费。
    当前Master节点的Web Console可以访问。

    2. ZooKeeper集群切换

    ZooKeeper的一个Leader节点关闭后,其他的Follower节点会被选中一个提升为Leader节点。

    ActiveMQ可以正常访问。

    以上是在Azure云端搭建ActiveMQ集群,分析给大家。

    周国庆

    2019/3/14

  • 相关阅读:
    Mayan游戏 (codevs 1136)题解
    虫食算 (codevs 1064)题解
    靶形数独 (codevs 1174)题解
    黑白棋游戏 (codevs 2743)题解
    神经网络 (codevs 1088) 题解
    The Rotation Game (POJ 2286) 题解
    倒水问题 (codevs 1226) 题解
    银河英雄传说 (codevs 1540) 题解
    生日蛋糕 (codevs 1710) 题解
    第一章 1.11 高阶函数
  • 原文地址:https://www.cnblogs.com/tianqing/p/6897196.html
Copyright © 2011-2022 走看看