二、概念介绍 1、伪集群
集群搭建在同一台虚拟机上,3个Activemq分别使用不同的端口提供服务,启用1个为Master,其它2个为Slaver,同一时间仅Master队列提供服务 2、高可用
3个Activemq服务,同一时间仅Master队列提供服务,当Master队列挂掉后,其它2个Slaver自动选举出1个成为Master,整个队列服务依然可用。当挂掉的队列重新恢复后,自动加入集群。当集群仅剩下1个队列时,整个队列不可用。 3、Activemq集群数据存储方式
a) kahaDB:文件共享,默认方式
b) JDBC:数据库共享
c) LevelDB:数据共享,本文使用方式
服务接口没有使用默认的61611是因为activemq默认还会使用61613,61614等端口; 3、修改activemq配置 a) 安装activemq,本文使用Activemq版本为5.14.1,下载地址http://activemq.apache.org/activemq-5141-release.html;(前提条件,电脑已安装java JDK,不然启动时会提示) 解压文件到任意目录,然后打开CMD命令窗口,输入命令“解压目录\bin\activemq start”,在浏览器里输入“http://127.0.0.1:8161/admin/”默认账号密码都是“admin”.如图:
至此,activemq单机模式安装成功。 b) 修改配置文件activemq.xml,路径为conf/activemq.xml 1、broker(所有activemq的brokerName必须一致,才能加入同一个集群) 2、配置levelDB,在<broker>节点内添加(原始配置文件中是不存在<replicatedLevelDB>节点的,另外红色方框标示的是集群通信接口)
bind:集群间通讯的ip和端口
zkAddress:ZooKeeper地址,多个可用,逗号分隔
hostname:主机名,可在/etc/hosts中进行配置,默认“localhost”
zkPath:zkPath目录(自定义),可在ZooInspetor中进行查看
2、配置服务接口,在<transportConnectors>节点内,仅修改红色方框标注的地方 3、配置控制台端口,conf\jetty.xml文件中,在id="jettyPort"的<bean>节点内,仅修改红色方框标注的地方 c) 将整个activemq的安装目录复制成三个,并命名mq1,mq2,mq3;并修改mq2和mq3中的配置文件(安如上方法),更改其服务接口为“51512”,“51513”和控制台端口“8162”,“8163”以及集群通信接口“61602”,“61603”。