您好,欢迎来到年旅网。
搜索
您的当前位置:首页activemq master-slave集群安装文档

activemq master-slave集群安装文档

来源:年旅网


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。

HOST01HOST02Master Broker(获得数据库锁)Slave Broker(无数据库锁)数据库

2. 安装前准备

安装环境

操作系统:Red Hat Enterprise Linux 5 JDK版本:JRockit JDK 1.5.0_12-b04 activemq版本:apache-activemq-5.4.2 数据库:oracle 10

服务器:需要两台服务器。文档中以HOST01和HOST02标示这两台服务器

软件准备

1. 安装JDK,并设置JAVA_HOME、PATH等环境变量。使用java –version验证java安装和环境变量设置

2. 下载apache-activemq-5.4.2,下载地址为:

http://www.apache.org/dyn/closer.cgi?path=%2Factivemq%2Fapache-activemq%2F5.4.2%2Factivemq-parent-5.4.2-source-release.tar.gz 3. 准备oracle 10的JDBC驱动程序ojdbc14.jar

3. 安装步骤

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目录下

$cd $ACTIVEMQ_WORK_DIR $ tar -zxvf apache-activemq-5.4.2-bin.tar.gz 3. 将ojdbc14.jar拷贝到$ACTIVEMQ_WORK_DIR/apache-activemq-5.4.2/lib目

录下 $cp ojdbc14.jar apache-activemq-5.4.2/lib 4. 打开并且修改$ACTIVEMQ_WORK_DIR/apache-activemq-5.4.2/conf目录下的

activemq.xml文件 A.修改broker的名字 找到

修改为

B. 修改持久化 找到

修改为

并且在后面添加数据库连接,语句如下:

C. 修改监听端口号 找到

修改为

D.定义死队列规则 找到

\" producerFlowControl=\"true\" memoryLimit=\"1mb\">

修改为:

\" producerFlowControl=\"true\" memoryLimit=\"1mb\">

注:标有红色部分根据实际情况配置。

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目录下

$cd $ACTIVEMQ_WORK_DIR $ tar -zxvf apache-activemq-5.4.2-bin.tar.gz 3. 将ojdbc14.jar拷贝到$ACTIVEMQ_WORK_DIR/apache-activemq-5.4.2/lib目

录下

$cp ojdbc14.jar apache-activemq-5.4.2/lib 4. 打开并且修改$ACTIVEMQ_WORK_DIR/apache-activemq-5.4.2/conf目录下的

activemq.xml文件

A. 修改broker的名字 找到

修改为

B. 修改持久化 找到

修改为

并且在后面添加数据库连接,语句如下:

C. 修改监听端口号 找到

修改为

D. 定义死队列规则 找到

\" producerFlowControl=\"true\" memoryLimit=\"1mb\"> 修改为:

\" producerFlowControl=\"true\" memoryLimit=\"1mb\">

注:标有红色部分根据实际情况配置。

4. 验证步骤

验证master broker

1. 在host01上执行以下语句,并查看输出到控制台的日志是否报错 $cd $ACTIVEMQ_WORK_DIR/apache-activemq-5.4.2/bin $sh activemq console 注:以sh activemq console启动,Ctrl+C将会停止activeMQ

2. 输入http://host01的IP:8161/admin/,如果出现下面页面则master broker正常启动

3. 查看数据库,如果数据库中自动新建ACTIVEMQ_ACKS、ACTIVEMQ_LOCK、ACTIVEMQ_MSGS三张表则正常

验证slave broker

1. 在host02上执行以下语句,并查看输出到控制台的日志 $cd $ACTIVEMQ_WORK_DIR/apache-activemq-5.4.2/bin $sh activemq console 2. 如果控制台中无错误信息,且输出“Attempting to acquire the exclusive lock to become the Master broker”则表示slave 正常启动

验证切换

验证master broker挂了后,slave broker是否变成master broker

1. 在host01上,在启动activemq的窗口,按Ctrl+C,停止activeMQ,输出下面信息

INFO | Connector openwire Stopped INFO | PListStore:/weblogic/apache-activemq-5.4.2/data/broker1/tmp_storage stopped INFO | ActiveMQ JMS Message Broker (broker1, ID:host01-34862-1309328113823-0:1) stopped INFO | Connector openwire Stopped INFO | ActiveMQ JMS Message Broker (broker1, ID:host01-34862-1309328113823-0:1) stopped 2. 如果host02的activeMQ窗口输入下面,信息则切换正常

INFO | Becoming the master on dataSource: org.apache.commons.dbcp.BasicDataSource@155bdde

INFO | ActiveMQ 5.4.2 JMS Message Broker (broker2) is starting

INFO | For help or more information please see: http://activemq.apache.org/ INFO | Listening for connections at: tcp://host02:61611 INFO | Connector openwire Started INFO | ActiveMQ JMS Message Broker (broker2, ID:host02-38821-1309329470448-0:1) started INFO | jetty-7.1.6.v20100715

INFO | ActiveMQ WebConsole initialized.

INFO | Initializing Spring FrameworkServlet 'dispatcher' INFO | ActiveMQ Console at http://0.0.0.0:8161/admin INFO | Initializing Spring root WebApplicationContext

INFO | camel-osgi.jar/camel-spring-osgi.jar not detected in classpath INFO | Apache Camel 2.4.0 (CamelContext: camel) is starting INFO | JMX enabled. Using ManagedManagementStrategy. INFO | Found 4 packages with 15 @Converter classes to load INFO | Loaded 146 type converters in 0.908 seconds

WARN | Broker localhost not started so using broker2 instead INFO | Connector vm://localhost Started INFO | Route: route1 started and consuming from: Endpoint[activemq://example.A] INFO | Started 1 routes

INFO | Apache Camel 2.4.0 (CamelContext: camel) started in 2.337 seconds INFO | Camel Console at http://0.0.0.0:8161/camel

INFO | ActiveMQ Web Demos at http://0.0.0.0:8161/demo

INFO | RESTful file access application at http://0.0.0.0:8161/fileserver INFO | Started SelectChannelConnector@0.0.0.0:8161

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务