ActiveMQ版本5.10.0,3个节点 failover配置
1.从官网下载MQ,传送到三台服务器,并解压
2.修改配置文件
1).brokerId根据服务器进行编号
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="broker-group" brokerId="broker-id-service-node2" dataDirectory="${activemq.data}">
2).消息挂起的数目设置,此处设置为1000条
<pendingMessageLimitStrategy>
<constantPendingMessageLimitStrategy limit="1000"/>
</pendingMessageLimitStrategy>
3).消息持久化策略设置
此处以leveldb为例
<persistenceAdapter>
<replicatedLevelDB
directory="/data0/mq/app_datas/mq/activemq-lvdb-data"
replicas="3"
bind="tcp://0.0.0.0:0"
zkAddress="10.50.40.150:2181,10.50.40.151:2181,10.50.40.152:2181"
zkSessionTmeout="6s"
zkPath="/activemq/basic-service/leveldb-stores"
hostname="10.50.40.183" />
</persistenceAdapter>
directory 表示持久化的消息保存在服务器上的路径,注意一定要先创建好路径
replicas 表示MQ集群的节点数量
bind 绑定的机器的地址与端口,此处0.0.0.0:0 表示端口随机,本机所有可用IP
zkAddress mq集群leveldb存储方式依赖的zookeeper集群地址
zkSessionTmeout 表示MQ与zookeeper集群的会话超时时间,注意拼写是zkSessionTmeout ,不是zkSessionTimeout
zkPath mq在zookeeper集群上创建的znode节点的路径
hostname mq机器的host
4)协议配置
可以根据选择进行编辑修改,我自己搭建的比较简单,没有删除协议,也没有更改协议,直接使用默认端口
<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>
协议简介
AMQP协议
即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。
MQTT协议
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。
OpenWire协议
OpenWire协议在网上没有对应的介绍,似乎是activeMQ自己定义的一种协议,官方网站对其的介绍如下:
OpenWire is our cross language Wire Protocol to allow native access to ActiveMQ from a number of different languages and platforms. The Java OpenWire transport is the default transport in ActiveMQ 4.x or later. For other languages see the following…
stomp协议
STOMP,Streaming Text Orientated Message Protocol,是流文本定向消息协议,是一种为MOM(Message Oriented Middleware,面向消息的中间件)设计的简单文本协议。
ws协议
官网描述如下
This transport uses the new HTML5 WebSockets to exchange messages with the broker. For more information see the WebSocketsTransport Reference
tips
纯Java开发,建议 openwire也就可以了。openwire是Java的序列化方式,其它语言无法支持。 amqp和stomp都多语言支持的,Java,Python都能混搭,消息相互通用。
PHP一般使用stomp协议
客户端根据自己的需要,不同协议对应好mq服务端的协议端口即可。
3.配置文件修改
如有需要,可以修改mq启动脚本中关于java堆的大小配置
# Set jvm memory configuration
if [ -z "$ACTIVEMQ_OPTS_MEMORY" ] ; then
ACTIVEMQ_OPTS_MEMORY="-Xms1G -Xmx2G"
fi
4.启动、重启、停止命令
进入mq的bin目录
./activemq start
./activemq stop
./activemq restart
查看mq端口以及日志文件确定是否正常启动即可。
最后在zookeeper上查看在mq中配置的leveldb的znode地址,是否已经创建出于mq集群一样的节点(此处是3个),通过zookeeper节点可以看到mq的主节点,然后可以使用http方式进行访问http://primarynode:8161/
一般没有做其他修改的话,默认的web管理端口就是8161,默认的用户名以及密码都是 admin/admin
activemq docker集群 activemq 集群安装与配置
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
activemq 集群安装与配置 activemq集群的搭建
一、简介ActiveMq是由Apache旗下一款开源,流行且强悍的消息中间件。它是一个完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现,ActiveMq非常快速并支持多种语言的客户端和协议,可以非常容易的嵌入到企业的应用环境中,并有许多高级功能。目前公司项目使用过ActiveMq单机环境,现在考虑搭一套集群环境避免因一些网络或其他原因引起的单点故障,从而造成主系统不可用。随
activemq 集群安装与配置 activemq安装与配置 两个服务公用一个activemq zookeeper IP -
activemq docker 集群 activemq集群原理
linux activmemq 集群安装,配置和高可用测试 从 ActiveMQ 5.9 开始,ActiveMQ 的集群实现方式取消了传统的Master-Slave 方式,增加了基于ZooKeeper + LevelDB的 Ma
activemq docker 集群 大数据 网络 java apache -
activemq集群故障 activemq 集群
一、Activemq 的集群思想1、使用Activemq集群的原因面试题: 引入消息中间件后如何保证其高可用2、集群实现思路基于zookeeper和LevelDB搭建ActiveMQ集群。集群仅提供主备方式的高可用集群功能,避免单点故障。3、集群方案(共有三种)主要是基于zookeeper+replicated-leveldb-store的主从集群基于shareFileSystem共享文件系统(K
activemq集群故障 Activemq activemq高可用 activemq集群发布 zookeeper