方案介绍
大致结构如图
具体实施方案
将在一个机子上做这么一套。
主机IP | 集群通信端口 | 消息端口 | 控制台端口 | 节点目录/usr/local/下 |
---|---|---|---|---|
192.168.1.108 | 62621 | 51511 | 8161 | activemq-cluster/node1/ |
192.168.1.108 | 62622 | 51512 | 8162 | activemq-cluster/node2/ |
192.168.1.108 | 62623 | 51513 | 8163 | activemq-cluster/node3/ |
控制台端口:浏览器进入管控台的端口
实现步骤
1.开始前的准备ZK
必须安装zookeeper。可以参考我以前的文章:zk集群传送门
2.文件准备
下载安装文件 csdn传送门,上传文件到服务器 的/usr/local/下
#目录准备
mkdir -p /usr/local/activemq-cluster
cd activemq-cluster
#解压并复制三次
tar -zxvf /usr/local/apache-activemq-5.11.1-bin.tar.gz -C /usr/local/activemq-cluster/
cp -r apache-activemq-5.11.1/ ./node1
cp -r apache-activemq-5.11.1/ ./node2
cp -r apache-activemq-5.11.1/ ./node3
rm -rf apache-activemq-5.11.1/
3.修改配置文件
管控台端口修改
#从第二个开始改
vim /usr/local/activemq-cluster/node2/conf/jetty.xml
vim /usr/local/activemq-cluster/node3/conf/jetty.xml
#修改的位置为下图,内容分别是 note2:8162 note3:8163
ActiveMQ配置文件修改
#修改文件为activemq.xml
vim /usr/local/activemq-cluster/node1/conf/activemq.xml
vim /usr/local/activemq-cluster/node2/conf/activemq.xml
vim /usr/local/activemq-cluster/node3/conf/activemq.xml
第一处修改:brokerName=”activemq-cluster”(三个节点都需要修改)
第二处修改:先注释掉适配器中的kahadb (三个节点都需要修改)
<!-- <kahaDB directory="${activemq.data}/kahadb"/>-->
第三处修改:添加新的leveldb配置如下(三个节点都需要修改):换个DB
<!-- <kahaDB directory="${activemq.data}/kahadb"/>-->
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:62621"
zkAddress="192.168.1.108:2181,192.168.1.109:2181,192.168.1.120:2181"
hostname="6401"
zkPath="/activemq/leveldb-stores" />
4启动
/usr/local/activemq-cluster/node1/bin/activemq start
/usr/local/activemq-cluster/node2/bin/activemq start
/usr/local/activemq-cluster/node3/bin/activemq start
5验证
tail -f /usr/local/activemq-cluster/node1/data/activemq.log
tail -f /usr/local/activemq-cluster/node2/data/activemq.log
tail -f /usr/local/activemq-cluster/node3/data/activemq.log
#没有错误error