首先使用三台服务器进行集群配置:
| 服务端口 | 管理端口 | 存储 | 网路连接器 | 用途 |
Node A | 61616 | 8161 | - | NodeB,NodeC | 消费者 |
Node B | 61617 | 8162 | D:\kahadb | NodeA | 生产者,消费者 |
Node C | 61618 | 8163 | D:\kahadb | NodeA | 生产者,消费者 |
官网:https://activemq.apache.org/
下载activeMQ,解压缩复制两份,分别命名为activemq-b,activemq-c;
一、配置Node A
1. 打开activemq.xml
配置transportConnectors,网络连接器networkConnectors:
具体代码如下所示:
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<!--
<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
-->
</transportConnectors>
<networkConnectors>
<networkConnector name="network_a" uri="static:(tcp://127.0.0.1:61617,tcp://127.0.0.1:61618)">
</networkConnector>
</networkConnectors>
配置持久化共享文件系统:
<persistenceAdapter>
<kahaDB directory="D:/JavaSoft/apache-activemq-5.15.8-bin/kahadb"/>
</persistenceAdapter>
2. 打开jetty.xml
二、配置Node B、Node C
Node B,Node C 配置相同,分别输入端口号61618,8163;
1. 打开activemq.xml
配置transportConnectors,网络连接器networkConnectors:
配置持久化共享文件系统:
<persistenceAdapter>
<kahaDB directory="D:/JavaSoft/apache-activemq-5.15.8-bin/kahadb"/>
</persistenceAdapter>
2. 打开jetty.xml
三、测试是否配置成功
分别打开Node A, Node B, Node C的服务,路劲:安装目录下/bin/win64/activeMQ.bat
按照A->B->C启动服务,访问后端管理平台地址:
Node A : http://localhost:8161/admin ,输入默认用户名和密码admin;
Node B : http://localhost:8162/admin ,输入默认用户名和密码admin;
Node C: http://localhost:8163/admin ,输入默认用户名和密码admin;
ActiveMQ成功访问后的界面:
按照启动,Node C的后台是不能正常访问的,因为是Node B成为了Master,而Node C成为了Slave,是不能访问后端管理平台的。