本文借鉴http://www.cnblogs.com/guozhen/p/5984915.html,在此基础上进行了完善,使之成为一个完整版的伪分布式部署说明,在此记录一下!

一、本文目的

介绍如何在同一台虚拟机上搭建高可用的Activemq服务,集群数量包含3个Activemq,当Activemq可用数>=2时,整个集群可用。

本文Activemq的集群数量为3个,分别命名为mq1,mq2,mq3

二、概念介绍

1、伪集群

集群搭建在同一台虚拟机上,3个Activemq分别使用不同的端口提供服务,启用1个为Master,其它2个为Slaver,同一时间仅Master队列提供服务

2、高可用

3个Activemq服务,同一时间仅Master队列提供服务,当Master队列挂掉后,其它2个Slaver自动选举出1个成为Master,整个队列服务依然可用。当挂掉的队列重新恢复后,自动加入集群。当集群仅剩下1个队列时,整个队列不可用。

3、Activemq集群数据存储方式

a) kahaDB:文件共享,默认方式

b) JDBC:数据库共享

c) LevelDB:数据共享,本文使用方式

三、Activemq伪集群的搭建

下载地址:http://download.csdn.net/detail/u010821757/9771407zookeeper-3.4.9)

      http://download.csdn.net/detail/u010821757/9771415(ActiveMQ5.14.0)

1、Activemq的端口介绍

      Activemq默认主要使用2个端口,8161(控制台使用)、61616(提供服务的端口),如果需要搭建集群,还需要开放集群间通讯的端口(主要用于选举Master)

2、Activemq集群端口的分配

  控制台 服务接口 集群通讯接口
mq1 8161 51511 61601
mq2 8162 51512 61602
mq3 8163 51513 61603

  服务接口没有使用默认的61611,是因为activemq默认还会使用61613,61614等端口

3、修改activemq配置

  a)  安装activemq,本文使用Activemq版本为5.14.0;(前提条件,电脑已安装java JDK,不然启动时会提示)

    解压文件到任意目录,双击bin\win64中的activemq.bat(根据电脑操作系统位数),在浏览器里输入“http://127.0.0.1:8161/admin/”,默认账号密码都是“admin”.如图:

    

    

    至此,activemq单机模式安装成功。

  b) 修改配置文件activemq.xml,路径为conf/activemq.xml

  1、broker(所有activemq的brokerName必须一致,才能加入同一个集群)

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}">

  2、配置levelDB,在<persistenceAdapter>节内,将原来的kahaDB注释掉,添加<replicatedLevelDB>节点以及内容,其中的61601可修改

    bind:集群间通讯的ip和端口

           zkAddress:ZooKeeper地址,多个可用,逗号分隔(下面有安装教程)

           hostname:主机名,直接设置本机IP地址即可

           zkPath:zkPath目录(自定义),可在ZooInspetor中进行查看

    <persistenceAdapter>
<!-- <kahaDB directory="${activemq.data}/kahadb"/> -->
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://127.0.0.1:61601"
zkAddress="127.0.0.1:2181"
hostname="10.0.10.238"
sync="local_disk"
zkPath="/activemq/leveldb-stores"
/>
</persistenceAdapter>

  3、配置服务接口,在<transportConnectors>节点内,仅修改红色方框标注的地方(51511)

       <transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
</transportConnectors>

  4、配置控制台端口,conf\jetty.xml文件中,在id="jettyPort"的<bean>节点内,仅修改红色方框标注的地方(8161)

    <bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
<!-- the default port number for the web console -->
<property name="host" value="0.0.0.0"/>
<property name="port" value=""/>
</bean>

  5、在E盘中新建文件夹activemq,将整个activemq的安装目录复制成三个,并命名mq1,mq2,mq3;并修改mq2和mq3中的配置文件(按如上方法),更改其服务接口为“51512”,“51513”和控制台端口“8162”,“8163”以及集群通信接

    口“61602”,“61603”。

四、Zookeeper单机模式安装

  1.下载zookeeper3.4.9,地址: ,并解压至刚新建的activemq文件夹中,前提是确保以及安装java JDK

  2.双击bin目录下的zkServer.cmd启动         

  3.打开一个CMD窗口,输入命令“netstat -ano|findstr "2181" 查看zookeeper是否启动成功,如图端口2181已经打开,说明启动成功

  aaarticlea/png;base64,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" alt="" />

  4.点击打开的CMD窗口,Ctrl+C关闭,关闭后修改配置文件,在解压出的zookeeper-3.4.9文件夹中新建data文件夹,并在data文件夹中新建log和data文件夹,后面会用到。

  5.Zookeeper 的配置文件在 conf 目录下,这个目录下有 zoo.cfg 和 log4j.properties, zoo.cfg的配置文件项如下:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=E:/activemq/zookeeper-3.4.9/data/data
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
dataLogDir=E:/activemq/zookeeper-3.4.9/data/log
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

  各项含义:

tickTime:时间单位,这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)
       初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端
连接失败。总的时间长度就是 5*2000=10 秒,同步数据的时间。
syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒
dataDir:顾名思义就是 Zookeeper 保存数据的目录。
dataLogDir:默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里
clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

  6.配置完成后,双机bin目录下的zkServer.cmd启动

  7.打开一个CMD窗口,输入命令“netstat -ano|findstr "2181" 查看zookeeper是否启动成功

五、测试ActiveMQ伪分布式是否安装成功

  1. 先启动Zookeeper

  2. 分别启动三个activemq,

  mq1:aaarticlea/png;base64,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" alt="" />

  mq2和mq3的cmd窗口会一直更新数据,尝试连接

  浏览器中输入http://127.0.0.1:8161/admin/(此时master为mq1)

  此时可以看到作为master的是端口为8161的activemq即mq1;当关闭mq1的命令窗口,此时mq2变为master,mq3变为slave

  再次查看http://127.0.0.1:8161/admin/ ,可以看到服务已经关闭了;而此时,zookeeper已经将master切换到了mq2上了,可以查看mq2的地址http://127.0.0.1:8162/admin/

  至此,伪分布式activemq的部署已经完成了。

六、Java测试代码(Spring整合ActiveMQ)

  1. springJMSConfig.xml,在web.xml文件中调用

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:amq="http://activemq.apache.org/schema/core"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.9.0.xsd"> <!-- mq连接工厂 -->
<bean id="amqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="failover:(tcp://127.0.0.1:51511,tcp://127.0.0.1:51512,tcp://127.0.0.1:51513)" />
<!-- 异步发送消息 -->
<property name="useAsyncSend" value="true" />
<!-- 队列消费者配置预取值 -->
<property name="prefetchPolicy">
<bean class="org.apache.activemq.ActiveMQPrefetchPolicy">
<property name="queuePrefetch" value="2" />
</bean>
</property>
<property name="userName" value="admin" />
<property name="password" value="admin" />
</bean> <!-- 连接池 -->
<bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
destroy-method="stop">
<property name="connectionFactory" ref="amqConnectionFactory" />
</bean> <!-- 定义连接工厂 -->
<bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
<constructor-arg ref="amqConnectionFactory" />
</bean> <!-- 主题目的地-->
<bean id="defaultDestination" class="org.apache.activemq.command.ActiveMQTopic">
<constructor-arg index="0" value="testXBQ_Topic66" />
</bean> <!-- 配置JMS模板,Spring提供的JMS工具类,发送、接收消息-->
<bean id="jmsTemplateNotice" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="pooledConnectionFactory" />
<property name="defaultDestination" ref="defaultDestination" />
<!-- true是订阅 -->
<property name="pubSubDomain" value="true" />
<!-- 加入事物回滚 -->
<property name="sessionTransacted" value="true" />
</bean>
</beans>

  java中调用发送,打开ActiveMQ控制台,查看消息数量即可。

package com.hyzn.fw.mqsend;

import javax.annotation.Resource;
import javax.jms.Destination; import org.springframework.jms.core.JmsTemplate;
import org.springframework.stereotype.Component; /**
* @ClassName: TopicSender
* @Description: TODO 发布主题MQ
* @author xbq
* @version 1.0
* @date 2017-2-13 下午4:16:22
*/
@Component
public class TopicSender { @Resource
private JmsTemplate jmsTemplateNotice; public void sendMqMessage(Destination destination, String message){
if(null == destination){
// 为空采用
destination = this.jmsTemplateNotice.getDefaultDestination();
}
this.jmsTemplateNotice.setDefaultDestination(destination);
//发送mq消息
this.jmsTemplateNotice.convertAndSend(message); System.out.println("消息推送完毕!!");
}
}

最新文章

  1. json文件
  2. [转]C#网络编程(异步传输字符串) - Part.3
  3. zipalign内存对齐优化
  4. OAF_文件系列4_实现OAF上传显示数据库动态图片Image(案例)
  5. CPU的内部架构和工作原理
  6. leetcode 109 Convert Sorted List to Binary Search Tree ----- java
  7. linux 系统启动流程
  8. ios9网络请求https适配
  9. 学习笔记之DB2 9 Fundamentals 730
  10. Android适配器Adapter学习
  11. magento产品批量导出导入
  12. Hibernate级联操作解密(inverse和cascade)
  13. 第十六章:Python の Web开发基础(三) jQuery与Ajax
  14. freemaker中的map遍历
  15. 制作联动时,数据绑定combox控件会触发SelectedIndexChanged事件
  16. react开发初始配置和一些问题
  17. Js 基本类型和引用类型
  18. DllImport使用
  19. python技巧 计算字符串中字母出现的次数并取出最大
  20. [转]mysql大表更新sql的优化策略

热门文章

  1. Linux下chmod命令
  2. 【转】MIUI8以及ViVO X9上在Android Studio运行出错集及其解决方案
  3. SpringMVC 多视图解析器配置以及问题
  4. CSS样式表——布局练习(制作360网页)
  5. VS2010在C#头文件中添加文件注释的方法(转)
  6. .net垃圾回收
  7. rails中path、url路径解析,routes信息,form_for剖析,link_to示例,路由实例说明
  8. r语言 函数
  9. python中copy 与 &#39;=&#39; 的区别
  10. 关于Cocos2d-x的数据存储