为什么使用ActiveMQ集群

Posted 木子道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么使用ActiveMQ集群相关的知识,希望对你有一定的参考价值。


MQ: Message Queue消息队列

ActiveMQ:Apache出品,最流行的,能力强劲的开源消息总线。

用途和优点

1.将数据从一个应用程序传送到另一个应用程序,或者从软件的一个模块传送到另外一个模块;

2.负责建立网络通信的通道,进行数据的可靠传送;

3.保证数据不重复,不丢失;

4.能够实现跨平台操作;

ActiveMQ应用场景

1,多个项目之间集成;

2,降低系统间模块的耦合度、解耦;

3,系统前后端隔离;

安装与配置

2.解压安装

tar -zxvf apache-activemq-5.15.3-bin.tar.gz -c /usr/local

3.重命名

mv apache-activemq-5.15.3 activemq

4.修改配置文件vim activemq/conf/activemq.xml

机器1.2.3修改集群名 三台机器必须一样

brokerName="activemq-cluster"

修改vim activemq/conf/activemq.xml持久化方式

<persistenceAdapter>
   <replicatedLevelDB
       directory="${activemq.data}/leveldb"
       replicas="3"  //集群节点个数
       bind="tcp://0.0.0.0.61621" //集群通讯端口
       //zookeeper 集群地址
       zkAddress="192.168.16.128:2181,192.168.16.130:2181,192.168.16.129:2181"
       hostname="192.168.16.128" //本机iphosts ip对应hostname
       zkPath="/activemq/leveldb-stores"/>

</persistenceAdapter>

修改vim activemq/conf/activemq.xml的消息端口 51516

<transportConnector name="openwire" uri="tcp://0.0.0.0:51516?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>



修改vim activemq/conf/jetty.xml管控台端口 (192.168.16.128:8161)

<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
       <property name="host" value="0.0.0.0"/>
       <property name="port" value="8161"/>  
 </bean>

根据以上步骤修改每台机器上的配置


机器IP 管控台端口 集群通讯端口 消息端口
192.168.16.128 8261 61621 51516
192.168.16.129 8262
61622
51517
192.168.16.130
 8263  61623  51518


启动Zookeeper集群安装请查看文章

1.首先启动zookeeper集群 /zkServer.sh start

2.查看/zkServer.sh status 状态

3.启动activemq  ./activemq    start / stop /status/console(启动并查看日志)

4.查看zookeeper信息 ./zkCli.sh

查看是否有activemq信息 ls /

[activemq, zookeeper]

查看activemq集群是否持久化到zookeeper  ls /activemq/leveldb-stores

[00000000086, 00000000084, 00000000085]

界面访问

分别访问

http://192.168.16.130:8163/

http://192.168.16.129:8162/

http://192.168.16.128:8161/

有两个链接不能访问是属于正常,两个链接属于待机状态并没有真正实现MQ,当Master宕机,从两台Slave中选举一个为Master。

为什么使用ActiveMQ集群

为什么使用ActiveMQ集群


到此安装就此结束了。

版本分别为JDK8、Zookeeper3.4.10、ActiveMQ5.15.3

安装异常问题

Q:遇到未知的服务和名称

A:修改hosts文件 192.168.16.128  jingyu(hostname)

hostname 


Q:集群搭建成功,当Master宕机,Slave没有选举为Master

A:三台集群端口一致为tcp://0.0.0.0.0,还有默认端口和消息端口使用默认。修改为不同端口,重启解决。

Q:MQ消息队列启动失败

A:JDK版本与MQ版本是否对应


启动Zookeeper与ActiveMQ之前是需要安装JDK

▼长按以下二维码即可关注▼


以上是关于为什么使用ActiveMQ集群的主要内容,如果未能解决你的问题,请参考以下文章

LinuxWindows安装ActiveMQ

烂泥:ActiveMQ的集群安装与配置

ActiveMQ_伪集群和主从高可用使用

ActiveMQ集群应用

JAVAEE——宜立方商城08:Zookeeper+SolrCloud集群搭建搜索功能切换到集群版Activemq消息队列搭建与使用

ActiveMQ(13):ActiveMQ的集群