1.高可用
1.安装master1、slave1、master2、slave2四个两组主从MQ。master1、slave1为1个broker,master2、slave2为一个broker。
2.分别打开四个MQ的conf目录下的“activemq.xml”文件,修改如图位置配置信息。
2.1对外提供tcp协议连接,所以可以只保留tcp协议的配置,其他的可以全部注释掉。
2.2其中master1和slave1的端口号为61616、master2和slave2的端口号为61618。
3.在找到如图位置配置内容,将master1和slave1的配置成同一路径,将master2和slave2的配置成同一路径。
3.1所谓“高可用”,其实利用的就是对同一数据文件访问锁的原理。
3.2现在master1、slave1使用同一data目录,master2、slave2使用同一data目录。
3.3先启动master1,再启动slave1。此时master1拥有对该data目录的使用权,目录上锁,slave2无法使用使用该目录。slave1在启动后,会有如下图日志。
3.4同理,master2,slave2也是如此。
4.修改四个MQ的控制端口。打开conf目录下的“jetty.xml”文件,修改如图位置的端口号,只要四个MQ的端口号各不相同即可。我这里用了8161、8162、8163、8164四个端口号。
5.当master1或master2因为故障原因,无法正常工作时,slave1和slave2可以获得data目录的使用权,变为新的master。至此,高可用配置完成。
2.分布式
6.在之前配置的基础上继续进行配置的修改。找到“activemq.xml”文件中如图位置的配置信息。之前已经说过了,master1和slave1的端口号用的都是61616,master2和slave2的端口号都是61618。
7.修改master1和slave1中该配置内容,端口号改为61618,指向master2和slave2。同理,将master2和slave2中相应配置内容端口号改为61616,指向master1和slave1。(注:也要注意ip,因为我是本地模拟部署,所以ip都是本地ip)
8.至此,分布式配置完成。
3.持久化
9.持久化配置其实已经在上边完成了。在这里再赘述一下,步骤3即为持久化配置。
4.启动ActiveMQ
9.将目录切换到ActinveMQ的bin目录下:
然后执行如下命令:
./activemq start (启动)
./activemq status(查看状态)
./activemq stop(停止)