activemq master-slave集群安装文档
- 格式:doc
- 大小:180.00 KB
- 文档页数:8
简介 (2)概述 (2)硬件环境说明 (2)软件环境说明 (2)安装步骤 (3)安装 (3)环境配置 (3)主从配置 (3)启动MQ (5)验证 (5)停止 (6)NFS4安装与配置 (7)背景要求 (7)NFS安装 (7)配置共享 (8)检验手段 (8)简介概述本文档是辅助个人学习与部署基于文件共享方式AcitveMQ主备配置与测试。
硬件环境说明内存:>1GbCPU:>1GHz硬盘:>8G软件环境说明软件名称备注CentOS 6.2 x64jdk-7u17-linux-x64.tar.gzapache-activemq-5.8.0-bin.tar.gzapache-ant-1.9.0-bin.tar.gz安装步骤安装CentOS 6.2安装选择BasicServer模式,其他全部默认tar –xzvf jdk-7u17-linux-x64.tar.gz -C /usr/javatar –xzvf apache-activemq-5.8.0-bin.tar.gz -C /usr/localtar –xzvf apache-ant-1.9.0-bin.tar.gz -C /usr/local环境配置/etc/profile尾部追加以下配置ACTIVEMQ_HOME=/usr/local/apache-activemq-5.8.0ANT_HOME=/usr/local/apache-ant-1.9.0JA V A_HOME=/usr/java/jdk1.7.0_17export ACTIVEMQ_HOMEexport ANT_HOMEexport JA V A_HOMEexport PA TH=$ACTIVEMQ_HOME/bin:$JA V A_HOME/bin:$ANT_HOME/bin:$PA TH 主从配置1、配置统一KahaDB文件目录主服务器$ACTIVEMQ_HOME/conf/activem q.xml……<broker xmlns="/schema/core" brokerName="localhost" dataDirectory="/nfs4exports">……<!--Configure message persistence for the broker. The default persistencemechanism is the KahaDB store (identified by the kahaDB tag).For more information, see:/persistence.html--><persistenceAdapter><kahaDB directory="/nfs4exports/data"/></persistenceAdapter>……从服务器$ACTIVEMQ_HOME/conf/activem q.xml……<broker xmlns="/schema/core" brokerName="localhost" dataDirectory="/nfs4exports">……<!--Configure message persistence for the broker. The default persistencemechanism is the KahaDB store (identified by the kahaDB tag).For more information, see:/persistence.html--><persistenceAdapter><kahaDB directory="/nfs4exports/data"/></persistenceAdapter>……<!--The transport connectors expose ActiveMQ over a given protocol toclients and other brokers. For more information, see:/configuring-transports.html--><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=1048576 00"/><!-- <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireformat.maxFrameSize=1 04857600"/> --></transportConnectors>……注释掉amqp协议,才可启动。
去网站/activemq/apache-activemq/5.8.0/apache-activemq-5.8.0-bin.tar.gz 下载apache-activemq的linux安装包上传至/home/zhuxing/或者直接在/home/zhuxing/运行:wget /activemq/apache-activemq/5.8.0/apache-activemq-5.8.0-bin.tar.g z解压至/usr/apache-activemq-5.8.0:tar -zxvf apache-activemq-5.8.0-bin.tar.gz-C /usr(会自动在/usr目录下生成apache-activemq-5.8.0文件夹)cd/usr/apache-activemq-5.8.0/binchmod +x activemqcd/usr/apache-activemq-5.8.0/confcpactivemq.xmlactivemq.xml.bkifconfig记下ipviactivemq.xml将<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections= 1000&wireformat.maxFrameSize=104857600"/>中的0.0.0.0改为上一步的ip启动MQcd/usr/apache-activemq-5.8.0/bin运行./activemq或./activemqstart> /usr/apache-activemq-5.8.0/data/jmslog 2>&1 &(建议)运行ps -ef|grepactivemq发现有pid则说明activemq已启动,或登陆主机访问http://localhost:8161/admin,能够访问表明启动成功此后台的登陆名和密码一般为:admin开启61616端口访问vi /etc/sysconfig/iptablesadd:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp--dport61616-j ACCEPT/etc/rc.d/init.d/iptables restart设置开机启动vi /etc/rc.d/rc.localadd:/usr/apache-activemq-5.8.0/bin/activemqstart>/usr/apache-activemq-5.8.0/data/jmslog2>&1 &。
activemq配置说明Activemq配置说明1 概述以及activemq集群方案选择 (2)1.1 consumers的集群 (2)1.2 brokers的集群 (2)1.3 集群方案的选择 (2)2 服务端配置activemq配置 (2)2.1 服务端配置activemq.xml (2)2.2 客户端配置backend-mq-consumer.xml (3)3 测试 (4)3.1 采用单机方式,同步方式 (4)3.2 采用单机方式,异步方式 (4)4 待解决的问题 (5)1概述以及activemq集群方案选择1.1consumers的集群ActiveMQ支持订阅同一个queue的consumers上的集群。
如果一个consumer失效,那么所有未被确认(unacknowledged)的消息都会被发送到这个queue上其它的consumers。
如果某个consumer的处理速度比其它consumers更快,那么这个consumer 就会消费更多的消息。
1.2brokers的集群在一个网络内运行多个brokers或者stand alone brokers时存在一个问题,这就是消息在物理上只被一个broker持有,因此当某个broker失效,那么你只能等待直到它重启后,这个broker上的消息才能够被继续发送(如果没有设置持久化,那么在这种情况下,消息将会丢失)。
1.3集群方案的选择经筛选我们采用主--从方式,Master Slave 背后的想法是,消息被复制到slave broker,因此即使master broker遇到了像硬件故障之类的错误,你也可以立即切换到slave broker而不丢失任何消息。
Master Slave是目前ActiveMQ推荐的高可靠性和容错的解决方案。
并且我们采用文件系统做持久化,即:Shared File System Master Slave。
可以运行多个broker,这些broker共享数据目录。
ActiveMQ master slave集群安装手册1.简介在一个网络内运行多个brokers或者stand alone brokers时存在一个问题,这就是消息在物理上只被一个broker持有,因此当某个broker失效,那么你只能等待直到它重启后,这个broker上的消息才能够被继续发送(如果没有设置持久化,那么在这种情况下,消息将会丢失)。
Master Slave 背后的想法是,消息被复制到slave broker,因此即使master broker遇到了像硬件故障之类的错误,你也可以立即切换到slave broker而不丢失任何消息。
Master Slave是目前ActiveMQ推荐的高可靠性和容错的解决方案。
主要有Pure Master Slave、Shared File System Master Slave、JDBC Master Slave三种。
Master Broker和Slave Broker可以部署在同一台机器上,也不可部署在不同的机器上。
本文档介绍JDBC Master Slave的安装和验证步骤,为了保证高可用性Master Broker和Slave Broker部署在不用的服务器上。
Master Broker和Slave Broker的配置基本一致,谁先启动获得数据库的锁谁就是Master Broker。
2.安装前准备安装环境操作系统:Red Hat Enterprise Linux 5JDK版本:JRockit JDK 1.5.0_12-b04activemq版本:apache-activemq-5.4.2数据库:oracle 10服务器:需要两台服务器。
文档中以HOST01和HOST02标示这两台服务器软件准备1.安装JDK,并设置JAVA_HOME、PATH等环境变量。
使用java –version验证java安装和环境变量设置2.下载apache-activemq-5.4.2,下载地址为:/dyn/closer.cgi?path=%2Factivemq%2Fapache-active mq%2F5.4.2%2Factivemq-parent-5.4.2-source-release.tar.gz3.准备oracle 10的JDBC驱动程序ojdbc14.jar3.安装步骤Master broker的安装将Master broker安装在HOST01主机上,以下步骤均在HOST01主机上进行1.将apache-activemq-5.4.2-bin.tar.gz和ojdbc14.jar上传到linux下active的安装目录。
linux下activemq安装与配置什么是消息中间件(MQ)?1.1 为什么会需要消息队列(MQ)? 主要原因是由于在⾼并发环境下,由于来不及同步处理,请求往往会发⽣堵塞,⽐如说,⼤量的insert,update之类的请求同时到达MySQL,直接导致⽆数的⾏锁表锁,甚⾄最后请求会堆积过多,从⽽触发too many connections错误。
通过使⽤消息队列,我们可以异步处理请求,从⽽缓解系统的压⼒。
2.2 什么是消息中间件 消息中间件利⽤⾼效可靠的消息传递机制进⾏平台⽆关的数据交流,并基于数据通信来进⾏分布式系统的集成。
通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。
对于消息中间件,常见的⾓⾊⼤致也就有Producer(⽣产者)、Consumer(消费者) 常见的消息中间件产品: (1)ActiveMQ ActiveMQ 是Apache出品,最流⾏的,能⼒强劲的开源消息总线。
ActiveMQ 是⼀个完全⽀持JMS1.1和J2EE 1.4规范的 JMS Provider实现。
我们在本次课程中介绍 ActiveMQ的使⽤。
(2)RabbitMQ AMQP协议的领导实现,⽀持多种场景。
淘宝的MySQL集群内部有使⽤它进⾏通讯,OpenStack开源云平台的通信组件,最先在⾦融⾏业得到运⽤。
(3)ZeroMQ 史上最快的消息队列系统 (4)Kafka Apache下的⼀个⼦项⽬。
特点:⾼吞吐,在⼀台普通的服务器上既可以达到10W/s的吞吐速率;完全的分布式系统。
适合处理海量数据。
是Apache的⼀个开源项⽬,它是⼀个能⼒强劲的开源消息总线,也是⼀个中间件产品。
它是JMS的⼀个实现。
⾸先了解⼀下JMSJMS(Java Messaging Service)是Java平台上有关⾯向消息中间件的技术规范,它便于消息系统中的Java应⽤程序进⾏消息交换,并且通过提供标准的产⽣、发送、接收消息的接⼝简化企业应⽤的开发。
ActiveMQ安装与配置1、环境:Windows XPapache-activemq-5.2.0-bin.zip2、安装解压缩到apache-activemq-5.2.0-bin.zip到一个目录,比如C:\apache-activemq-5.2.03、配置配置就在C:\apache-activemq-5.2.0\conf目录下三个文件activemq.xmlcredentials.propertieslog4j.properties4、启动ActiveMQ运行C:\apache-activemq-5.2.0\bin\activemq.bat5、测试ActiveMQ默认使用的TCP连接端口是61616,通过查看该端口的信息可以测试ActiveMQ是否成功启动netstat-an|find"61616" C:\Documents and Settings\Administrator>netstat-an|find"61616"TCP0.0.0.0:616160.0.0.0:0LISTENING 6、监控ActiveMQ5.0版本默认启动时,启动了内置的jetty服务器,提供一个demo应用和用于监控ActiveMQ的admin应用。
admin:http://127.0.0.1:8161/admin/demo:http://127.0.0.1:8161/demo/具体端口查看:apache-activemq-5.2.0/conf/activemq.xml<jetty xmlns="/schemas/jetty/1.0"><connectors><nioConnector port="8161"/></connectors><handlers><webAppContext contextPath="/admin"resourceBase="${active mq.base}/webapps/admin"logUrlOnStart="true"/><!--<webAppContext contextPath="/demo"resourceBase="${active mq.base}/webapps/demo"logUrlOnStart="true"/><webAppContext contextPath="/fileserver"resourceBase="${ac tivemq.base}/webapps/fileserver"logUrlOnStart="true"/>--></handlers></jetty>从官方下载的ActiveMQ中下载的文件解压后,默认JMX的关闭的<!--Use the following to configure how ActiveMQ is exposed in JMX--> <managementContext><managementContext createConnector="false"/></managementContext>需要对之进行修改,打开JMX的访问<managementContext><managementContext createConnector="true"connectorPort="1 199"/></managementContext>在启动的过程中注意观察以下输出的结果:INFO ManagementContext-JMX consoles can connect to s ervice:jmx:rmi:///jndi/rmi://localhost:1199/jmxrmiINFO TransportServerThreadSupport-Listening for connections at:tcp://q a-qd-63-17:61616ActiveMQ问题记录/1081650/384063ActiveMQ的服务是随机器启动的(当你安装了他的服务之后,默认是不安装的,不过有时候会不经意安装),这时候你再用Spring启动ActiveMQ就会报如上的错误。
activemq安装使⽤教程⼀、下载安装然后解压即可,apache的东西解压后就可以使⽤了。
⼆、启动在安装⽬录的bin⽬录下:activemq start就可以启动了。
访问localhost:8161就可以访问如果你想修改⽤户名和密码的话,在conf/jetty-realm.properties中修改即可。
然后重启就可以。
三、demo启动activemq 中的 demoactivemq start xbean:file:../examples/conf/activemq-demo.xml访问:http://localhost:8161/demo/然后就可以收发消息了。
四、⾃⼰使⽤介绍web项⽬中spring集成activemqmaven依赖:<dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-all</artifactId><version>5.15.0</version></dependency><dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-spring</artifactId><version>5.15.0</version></dependency>applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans.xsd /schema/context /schema/context/spring- <!--设置注解类所在的jar包--><context:component-scan base-package="com.linewell" /><!-- 连接池 --><bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop"><property name="connectionFactory"><bean class="org.apache.activemq.ActiveMQConnectionFactory"><property name="brokerURL" value="tcp://localhost:61616"/></bean></property></bean><!-- 连接⼯⼚ --><bean id="activeMQConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"><property name="brokerURL" value="tcp://localhost:61616"/></bean><!-- 配置消息⽬标 --><bean id="destination" class="mand.ActiveMQQueue"><!-- ⽬标,在ActiveMQ管理员控制台创建 http://localhost:8161/admin/queues.jsp --><constructor-arg index="0" value="sagedragon.mq.queue"/></bean><!-- 消息模板 --><bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"><property name="connectionFactory" ref="activeMQConnectionFactory"/><property name="defaultDestination" ref="destination"/><property name="messageConverter"><bean class="org.springframework.jms.support.converter.SimpleMessageConverter"/></property></bean></beans>web.xml配置<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:applicationContext.xml</param-value></context-param><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/</url-pattern></filter-mapping><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener><servlet><servlet-name>MqtestServlet</servlet-name><servlet-class>com.linewell.servlets.MqtestServlet</servlet-class></servlet><servlet-mapping><servlet-name>MqtestServlet</servlet-name><url-pattern>/activemq/MqtestServlet</url-pattern></servlet-mapping></web-app>发送者:package com.linewell.activemq;import org.springframework.jms.core.JmsTemplate;import org.springframework.jms.core.MessageCreator;import org.springframework.stereotype.Service;import javax.jms.JMSException;import javax.jms.MapMessage;import javax.jms.Message;import javax.jms.Session;import java.util.Date;import javax.annotation.Resource;@Servicepublic class SpringSender {@Resourceprivate JmsTemplate jmsTemplate;public void sendMsg() {jmsTemplate.send(new MessageCreator() {public Message createMessage(Session session) throws JMSException {MapMessage message = session.createMapMessage();System.out.println("开始发送消息...");message.setString("message", "current system time: " + new Date().getTime());return message;}});}}接收者:package com.linewell.activemq;import org.springframework.context.ApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext;import org.springframework.jms.core.JmsTemplate;import org.springframework.stereotype.Service;import javax.annotation.Resource;import java.util.Map;@Servicepublic class SpringReceiver {@Resourceprivate JmsTemplate jmsTemplate;public void receiveMsg() {while (true) {Map<String, Object> map = (Map<String, Object>) jmsTemplate.receiveAndConvert(); System.out.println("收到消息:" + map.get("message"));}}}。
activeMQ集群配置目录ACTIVEMQ集群配置 (1)1ACTIVEMQ集群简介 (2)2MASTER/SLAVE模式简介 (3)2.1安装环境 (3)2.2测试服务器描述 (3)3JDK安装(略) (4)4ACTIVEMQ安装(PURE MASTER-SLAVE模式) (4)4.1主ACTIVE MQ安装 (4)4.2备ACTIVEMQ配置 (4)5ACTIVEMQ的BROKER CLUSTER模式 (6)5.1软件安装(略) (6)5.2配置文件修改 (6)1 activeMQ集群简介ActiveMQ可以做broker的集群(broker_cluster),也可以做master-slave方式的集群。
前者能在多个broker 之前fail-over和load-balance,但是在某个节点出故障时,可能导致消息丢失;而后者能实时备份消息,和fail-over,但是不能load-balance。
broker cluser的方式,在一个broker上发送的消息可以在其它的broker上收到。
当一个broker失效时,客户端可以自动的转到别的broker上运行,多个broker可以同时提供服务,但是消息只存储在一个broker上,如果那个broker失效了,那么客户端直到它重新启动后才能收到该broker 上的消息,假如很不幸,那个broker的存储介质坏了,那么消息就丢失掉了。
Master-slave方式中,只有master提供服务,slave只是实时的备份master的数据,所以消息不会丢失。
当master失效时,slave会自动升为master,客户端会自动转到slave上工作,所以能fail-over。
由于只有master 提供服务,所以不能将负载分到多个broker上。
其实单个broker的性能已经是相当的惊人了,足够公司目前的需要了,而公司并不希望丢失任何数据,所以我们选择使用master-slave模式。
ActiveMQ安装及部署教程图解ActiveMQ是Apache的⼀个开源项⽬,它是⼀个功能强劲的开源消息总线,也是⼀个中间件产品,它是JMS的⼀个实现。
在介绍ActiveMQ之前,先来复习⼀下J2EE中的JMS规范。
JMS 即Java消息服务应⽤程序接⼝,是Java Message Service的缩写,是⼀个Java平台中关于⾯向消息中间件(manager of managers,缩写为MOM)的API,⽤于在两个应⽤程序之间,或分布式系统中发送消息,进⾏异步通信;我们可以利⽤它在不同系统和不同的模块之间实现集成。
Java消息服务是⼀个与具体平台⽆关的API,绝⼤多数MOM提供商都对JMS提供⽀持。
JMS有两个好处,第⼀个就是让模块之间或者系统之间的耦合度降低,第⼆个是异步通信。
ActiveMQ是⼀个JMS消息代理的实现。
JMS的消息机制有两种模式,⼀种是点对点(Point to Point,⼀对⼀)消息模式,表现为队列的形式;发送的消息,只能被⼀个接收者接收。
另⼀种是发布/订阅消息模式(⼀对多),可以被多个订阅者订阅,类似于群发。
1、到官⽹下载安装包官⽹⾥有Windows和Linux版本,请根据需要下载对应的版本。
注意:5系列的版本最好使⽤JDK8及以上,低于JDK8可以使⽤4.x。
2、下载和启动下载之后,解压apache-activema-5.15.13-bin.zip包,进⼊bin⽬录:请确保系统已经安装Java8或者以上版本。
在bin⽬录发现有 win 32 和 win 64 两个⽂件夹,这2个⽂件夹分别对应 windows 32 位和 windows 64 位操作系统的启动脚本。
选择系统对应的版本,例如电脑是64位的,则进⼊win64⽂件夹,找到启动脚步activemq.bat,双击即可启动。
启动成功后,Shell窗⼝视图如下:截图中容易找到⽇志信息 ConnectorwsStarted。
ActiveMQ master slave集群安装手册1.简介在一个网络内运行多个brokers或者stand alone brokers时存在一个问题,这就是消息在物理上只被一个broker持有,因此当某个broker失效,那么你只能等待直到它重启后,这个broker上的消息才能够被继续发送(如果没有设置持久化,那么在这种情况下,消息将会丢失)。
Master Slave 背后的想法是,消息被复制到slave broker,因此即使master broker遇到了像硬件故障之类的错误,你也可以立即切换到slave broker而不丢失任何消息。
Master Slave是目前ActiveMQ推荐的高可靠性和容错的解决方案。
主要有Pure Master Slave、Shared File System Master Slave、JDBC Master Slave三种。
Master Broker和Slave Broker可以部署在同一台机器上,也不可部署在不同的机器上。
本文档介绍JDBC Master Slave的安装和验证步骤,为了保证高可用性Master Broker和Slave Broker部署在不用的服务器上。
Master Broker和Slave Broker的配置基本一致,谁先启动获得数据库的锁谁就是Master Broker。
2.安装前准备安装环境操作系统:Red Hat Enterprise Linux 5JDK版本:JRockit JDK 1.5.0_12-b04activemq版本:apache-activemq-5.4.2数据库:oracle 10服务器:需要两台服务器。
文档中以HOST01和HOST02标示这两台服务器软件准备1.安装JDK,并设置JAVA_HOME、PATH等环境变量。
使用java –version验证java安装和环境变量设置2.下载apache-activemq-5.4.2,下载地址为:/dyn/closer.cgi?path=%2Factivemq%2Fapache-active mq%2F5.4.2%2Factivemq-parent-5.4.2-source-release.tar.gz3.准备oracle 10的JDBC驱动程序ojdbc14.jar3.安装步骤Master broker的安装将Master broker安装在HOST01主机上,以下步骤均在HOST01主机上进行1.将apache-activemq-5.4.2-bin.tar.gz和ojdbc14.jar上传到linux下active的安装目录。
后续以$ACTIVEMQ_WORK_DIR代表active的安装目录2.在$ACTIVEMQ_WORK_DIR目录下解压缩apache-activemq-5.4.2-bin.tar.gz文件,解压缩后activeMQ相关文件放在$ACTIVEMQ_WORK_DIR/apache-activemq-5.4.2目录下3.将ojdbc14.jar拷贝到$ACTIVEMQ_WORK_DIR/apache-activemq-5.4.2/lib目4.打开并且修改$ACTIVEMQ_WORK_DIR/apache-activemq-5.4.2/conf目录下的activemq.xml文件A.修改broker的名字找到修改为B.修改持久化找到修改为并且在</broker>后面添加数据库连接,语句如下:<bean id="oracle-ds" class="mons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/><property name="url" value="jdbc:oracle:thin:@168.7.61.23:1521:orcltmp"/><property name="username" value="user"/><property name="password" value="password"/><property name="maxActive" value="200"/><property name="poolPreparedStatements" value="true"/></bean>C.修改监听端口号找到修改为D.定义死队列规则找到<policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"><!-- Use VM cursor for better latencyFor more information, see:/message-cursors.html<pendingQueuePolicy><vmQueueCursor/></pendingQueuePolicy>--></policyEntry>修改为:<policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"><deadLetterStrategy><individualDeadLetterStrategy queuePrefix="DLQ.ICFP." useQueueForQueueMessages="true" /></deadLetterStrategy><!-- Use VM cursor for better latencyFor more information, see:/message-cursors.html<pendingQueuePolicy><vmQueueCursor/></pendingQueuePolicy>--></policyEntry>注:标有红色部分根据实际情况配置。
Slave Broker的安装将Slave broker安装在HOST02主机上,以下步骤均在HOST02主机上进行。
Master broker与Slave Broker安装的差异处所在主机不一致和步骤四中修改broker的名字不一致外,其它的无差异。
1.将apache-activemq-5.4.2-bin.tar.gz和ojdbc14.jar上传到linux下active的安装目录。
后续以$ACTIVEMQ_WORK_DIR代表active的安装目录2.在$ACTIVEMQ_WORK_DIR目录下解压缩apache-activemq-5.4.2-bin.tar.gz文件,解压缩后activeMQ相关文件放在$ACTIVEMQ_WORK_DIR/apache-activemq-5.4.2目录下3.将ojdbc14.jar拷贝到$ACTIVEMQ_WORK_DIR/apache-activemq-5.4.2/lib目录下4.打开并且修改$ACTIVEMQ_WORK_DIR/apache-activemq-5.4.2/conf目录下的activemq.xml文件A.修改broker的名字找到修改为B.修改持久化找到修改为并且在</broker>后面添加数据库连接,语句如下:<bean id="oracle-ds" class="mons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/><property name="url" value="jdbc:oracle:thin:@168.7.61.23:1521:orcltmp"/><property name="username" value="user"/><property name="password" value="password"/><property name="maxActive" value="200"/><property name="poolPreparedStatements" value="true"/></bean>C.修改监听端口号找到修改为D.定义死队列规则找到<policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"><!-- Use VM cursor for better latencyFor more information, see:/message-cursors.html<pendingQueuePolicy><vmQueueCursor/></pendingQueuePolicy>--></policyEntry>修改为:<policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"> <deadLetterStrategy><individualDeadLetterStrategy queuePrefix="DLQ.ICFP." useQueueForQueueMessages="true" /></deadLetterStrategy><!-- Use VM cursor for better latencyFor more information, see:/message-cursors.html<pendingQueuePolicy><vmQueueCursor/></pendingQueuePolicy>--></policyEntry>注:标有红色部分根据实际情况配置。