activemq master-slave集群安装文档

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。

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,下载地址为:

https://www.360docs.net/doc/241953536.html,/dyn/closer.cgi?path=%2Factivemq%2Fapache-active mq%2F5.4.2%2Factivemq-parent-5.4.2-source-release.tar.gz

3.准备oracle 10的JDBC驱动程序ojdbc1

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

3.将ojdbc1

4.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.修改持久化

找到

修改为

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

C.修改监听端口号

找到

修改为

D.定义死队列规则

找到

修改为:

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

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.将ojdbc1

4.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.修改持久化

找到

修改为

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

C.修改监听端口号

找到

修改为

D.定义死队列规则

找到

修改为:

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

4.验证步骤

验证master broker

1.在host01上执行以下语句,并查看输出到控制台的日志是否报错

注:以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上执行以下语句,并查看输出到控制台的日志

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,输出下

面信息

2.如果host02的activeMQ窗口输入下面,信息则切换正常

INFO | Becoming the master on dataSource: https://www.360docs.net/doc/241953536.html,mons.dbcp.BasicDataSource@155bdde

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

INFO | For help or more information please see: https://www.360docs.net/doc/241953536.html,/ 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

相关主题
相关文档
最新文档