linux下搭建activemq集群(高可用)

一. 简介

从 ActiveMQ 5.9 开始,ActiveMQ 的集群实现方式取消了传统的 Master-Slave 方式,增加了基于 ZooKeeper + LevelDB 的 Master-Slave 实现方式,其他两种方式目录共享和数据库共享依然存在。本文采用zookeeper来管理节点实现activemq的高可用。

二. 集群部署说明

2.1 节点信息

ZooKeeper集群

ZooKeeper01ZooKeeper02ZooKeeper03
10.10.2.13710.10.2.13810.10.2.139

ActiveMQ集群

activemq.xml
主机集群端口
replicatedLevelDB.bind
10.10.2.137tcp://0.0.0.0:62623
10.10.2.138tcp://0.0.0.0:62623
10.10.2.139tcp://0.0.0.0:62623

2.2 安装activemq

​ 给三台服务器分别安装activemq.

​ activemq的安装说明,请参照笔者的另一篇博客: linux下安装activemq

三. 配置高可用

3.1修改activemq.xml

修改brokerName

注: 三台机器要一致,此处,均改为"activemqCluster"

在这里插入图片描述

修改持久化适配器persistenceAdapter添加replicatedLevelDB元素

<persistenceAdapter>
    <!--<kahaDB directory="${activemq.data}/kahadb"/>-->
    <!-- activemq zookeeper high availiability -->
    <replicatedLevelDB
        directory="${activemq.data}/leveldb"
        replicas="3"
        bind="tcp://0.0.0.0:62623"
        zkAddress="10.10.2.137:2181,10.10.2.138:2181,10.10.2.139:2181"
        hostname="10.10.1.137"
        zkPath="/activemq/leveldb-stores"/>
</persistenceAdapter>

配置项说明:

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

至此,ActiveMQ的高可用集群搭建完成

3.2启动集群

前提:ZooKeeper集群已启动

分别启动三台ActiveMQ服务器:

[root@master conf]# activemq start
INFO: Loading '/usr/local/activemq/apache-activemq-5.15.9/bin/env'
INFO: Using java '/usr/local/jdk1.8.0_111/bin/java'
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
INFO: pidfile created : '/usr/local/activemq/apache-activemq-5.15.9/data/activemq.pid' (pid '11135')

集群启动成功后,ActiveMQ会往ZooKeeper中注册集群信息。为了方便,我们使用ZooInspector工具来查看具体的内容。
1555316923392
在这里插入图片描述

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

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值