1 前言
使用ZooKeeper实现的Master-Slave实现方式,是对ActiveMQ进行高可用的一种有效的解决方案,高可用的原理:使用ZooKeeper(集群)注册所有的ActiveMQ Broker。只有其中的一个Broker可以对外提供服务(也就是Master节点),其 他的Broker处于待机状态,被视为Slave。如果Master因故障而不能提供服务, 则利用ZooKeeper的内部选举机制会从Slave中选举出一个Broker充当Master节 点,继续对外提供服务。
原理图:
官方文档:http://activemq.apache.org/replicated-leveldb-store.html
2 部署方案,ZooKeeper、ActiveMQ集群环境准备
这里需要下载apache-activemq-5.11.1bin.tar.gz、zookeeper-3.3.6.tar.gz文件,可以到官网去下载。
apache-activemq-5.11.1bin.tar.gz、zookeeper-3.3.6.tar.gz百度云链接:链接:https://pan.baidu.com/s/1ge5htFP 密码:lkb6
2、1 Zookeeper方案
主机IP | 消息端口 | 通信端口 | 节点目录/opt/下 |
---|---|---|---|
192.168.0.107 | 2181 | 2888:3888 | zookeeper-3.3.6 |
192.168.0.108 | 2181 | 2888:3888 | zookeeper-3.3.6 |
192.168.0.109 | 2181 | 2888:3888 | zookeeper-3.3.6 |
2、2 ActiveMQ方案
主机IP | 集群通信端口 | 消息端口 | 控制台端口 | 节点目录/opt/下 |
---|---|---|---|---|
192.168.0.107 | 62621 | 51511 | 8161 | activemq-cluster/node1/ |
192.168.0.107 | 62621 | 51512 | 8162 | activemq-cluster/node1/ |
192.168.0.107 | 62621 | 51513 | 8163 | activemq-cluster/node1/ |
ActiveMQ集群我部署在一台机器上而已,你感兴趣的话看完这篇文章,不妨你把ActiveMQ搭建到每一台机器上。
2、3 Zookeeper集群搭建
将zookeeper-3.3.6.tar.gz上传到/opt目录下
下面三台机器都是使用同一个操作,如有不同我会另作说明
解压
shell>tar -zxvf zookeeper-3.3.6.tar.gz
进入conf目录
shell>cd zookeeper-3.3.6/conf
将zoo_sample.cfg文件名改为zoo.cfg
shell>mv zoo_sample.cfg zoo.cfg
编辑zoo.cfg
shel