ActoiveMQ主备环境搭建

环境介绍

主机集群端口消息端口管控台端口
172.20.1.23062621616168161
172.20.1.231816162621616168161
172.20.1.23262621616168161

activemq单节点安装

参考博客: ActiveMQ安装和基本使用

主备环境搭建

从 ActiveMQ 5.9 开始,ActiveMQ 的集群实现方式取消了传统的 Master-Slave 方式,增加了基于ZooKeeper + LevelDB 的 Master-Slave 实现方式,其他两种方式目录共享和数据库共享依然存在。

本教程采用可复制的 LevelDB方式:

在 3台机器ActiveMQ 节点中配置 conf/activemq.xml 中的持久化适配器。

修改其中 bind、zkAddress、hostname 和 zkPath。注意:每个 ActiveMQ 的 BrokerName 必须相同,否则不能加入集群。
172.20.1.230中的持久化配置:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq_ha" dataDirectory="${activemq.data}">
<persistenceAdapter>
<!-- kahaDB directory="${activemq.data}/kahadb"/ -->
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:62621"
zkAddress="172.20.1.230:2181,172.20.1.231:2181,172.20.1.232:2183"
hostname="172.20.1.230"
zkPath="/activemq/leveldb-stores"
/>
</persistenceAdapter>
</broker>
172.20.1.231中的持久化配置:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq_ha" dataDirectory="${activemq.data}">
<persistenceAdapter>
<!-- kahaDB directory="${activemq.data}/kahadb"/ -->
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:62621"
zkAddress="172.20.1.230:2181,172.20.1.231:2181,172.20.1.232:2183"
hostname="172.20.1.231"
zkPath="/activemq/leveldb-stores"
/>
</persistenceAdapter>
</broker>
172.20.1.232中的持久化配置:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq_ha" dataDirectory="${activemq.data}">
<persistenceAdapter>
<!-- kahaDB directory="${activemq.data}/kahadb"/ -->
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:62621"
zkAddress="172.20.1.230:2181,172.20.1.231:2181,172.20.1.232:2183"
hostname="172.20.1.232"
zkPath="/activemq/leveldb-stores"
/>
</persistenceAdapter>
</broker>
以上参数介绍:
directory:复制的数据存放的目录
replicas:集群的节点数
bind:集群通信的端口(zookeeper选举的时候需要通信,就是该接口)
hostname:节点所在的ip地址
zkPath:zookeeper中数据的路径


依次启动 3台机器上的 ActiveMQ 节点:

/usr/local/activemq/bin/activemq start

使用ZooInspector查看集群的节点状态:

①下载并解压ZooInspector
下载地址: 点此下载

②双击启动build/zookeeper-dev-ZooInspector.jar

③按图提示登录zookeeper管理中心



如果双击无法运行,可能是没有配置jdk,如果配置jdk依然无法运行,使用以下方式
cd D:\ProgramFiles\ZooInspector\build
Java -Dfile.encoding=UTF-8 -jar zookeeper-dev-ZooInspector.jar

④查看各节点
以下第一张图展现了 00000000019 的值(每次关闭重启一次,这个数都会加1,第一次启动是00000000000),可以看到 elected 的值是不为空,说明这个节点是 Master,其他两个节点是 Slave。




登录activemq管控台

注意:这里说明一下,管控台的话只有master的管控台是可以登录的,其他两个slave是无法登陆的
根据上面查看的节点,所以访问172.20.1.230节点
http://172.20.1.230:8161/



测试代码

使用跟spring整合之后的代码测试,只需要把配置文件中的地址换成一下地址就可以了:
failover:(tcp://192.168.1.81:51511,tcp://192.168.1.82:51512,tcp://192.168.1.83:51513)?randomize=false


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值