四ActiveMQ Zookeeper集群

Posted laughing Coding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了四ActiveMQ Zookeeper集群相关的知识,希望对你有一定的参考价值。

一、概要

在5.9版本以后推出了levelDB的持久化引擎。

本节构建基于zookeeper和replicated-leveldb-store的主从集群,实现MQ的高可用。

使用zookeeper集群注册所有的ActiveMQ Broker,其中一个Broker为Master,其余为slave.

如果Master挂了,Zookeeper会从Slave中选举一个Broker充当Master.

Slave连接Master并同步他们对存储状态。Slave不接受客户端连接。所用的存储操作都会被复制到Slaves.

故障节点恢复后会进入Slave模式。

我们至少需要三个节点,来实现这种主从模式。

二、zookeeper伪集群搭建

这里在一台服务器搭建一个伪集群

复制三份配置文件

四、ActiveMQ Zookeeper集群

新建datadir的目录并修改配置文件

四、ActiveMQ Zookeeper集群

在zookeeper-3.4.10/data的 data1,data2,data3 目录下放置myid文件,文件内容分别为1,2,3:

四、ActiveMQ Zookeeper集群

启动三台

./zkServer.sh start zoo01.cfg./zkServer.sh start zoo02.cfg./zkServer.sh start zoo03.cfg
./zkServer.sh status zoo01.cfg./zkServer.sh status zoo02.cfg./zkServer.sh status zoo03.cfg
# 连接不同节点 bin下./zkCli.sh -server 49.232.61.212:2181./zkCli.sh -server 49.232.61.212:2182./zkCli.sh -server 49.232.61.212:2183

四、ActiveMQ Zookeeper集群

三、ActiveMQ Zookeeper集群

规划

主机 zookeeper端口 MQ消息端口 ActiveMQ管理台 AMQ集群bind端口
49.232.61.212 2181 61616 8161 bind="tcp://0.0.0.0:63631"
49.232.61.212 2182 61617 8162 bind="tcp://0.0.0.0:63632"
49.232.61.212 2183 61618 8163 bind="tcp://0.0.0.0:63633"

ActiveMQ的三个实例

新复制三个

vim jetty.xml,修改ActiveMQ控制台端口为8161、8162、8163

三台activemq.xml对brokername必须相同

LevelDB持久化配置

三台

1

 <persistenceAdapter> <replicatedLevelDB directory="${activemq.data}/leveldb" replicas="3" bind="tcp://0.0.0.0:63631" zkAddress="49.232.61.212:2181,49.232.61.212:2182,49.232.61.212:2183" zkPath="/activemq/leveldb-stores" hostname="212centos" /> </persistenceAdapter>

2

  <persistenceAdapter>   <replicatedLevelDB directory="${activemq.data}/leveldb"   replicas="3"   bind="tcp://0.0.0.0:63632"    zkAddress="49.232.61.212:2181,49.232.61.212:2182,49.232.61.212:2183"   hostname="212centos"   sync="local_disk"   zkPath="/activemq/leveldb-stores"/>   </persistenceAdapter>

3

 <persistenceAdapter> <replicatedLevelDB directory="${activemq.data}/leveldb" replicas="3" bind="tcp://0.0.0.0:63633" zkAddress="49.232.61.212:2181,49.232.61.212:2182,49.232.61.212:2183" zkPath="/activemq/leveldb-stores" hostname="212centos" /> </persistenceAdapter>

修改消息端口61616、61617、61618

按顺序启动三台ActiveMQ

cd /usr/activemq/activemq01/bin./activemq start
cd /usr/activemq/activemq02/bin./activemq start
cd /usr/activemq/activemq03/bin./activemq start


以上是关于四ActiveMQ Zookeeper集群的主要内容,如果未能解决你的问题,请参考以下文章

烂泥:ActiveMQ的集群安装与配置

ActiveMQ 高可用集群安装配置(ZooKeeper + LevelDB)

Zookeeper + ActiveMQ 集群整合配置文档

Centos7上搭建activemq集群和zookeeper集群

ActiveMQ+ZooKeeper搭建高可用集群

Zookeeper+ActiveMQ集群搭建