四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伪集群搭建
这里在一台服务器搭建一个伪集群
复制三份配置文件
新建datadir的目录并修改配置文件
在zookeeper-3.4.10/data的 data1,data2,data3 目录下放置myid文件,文件内容分别为1,2,3:
启动三台
./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集群
规划
主机 | 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 高可用集群安装配置(ZooKeeper + LevelDB)