Centos6.3下ActiveMQ5.7.0主备集群配置

在两台机器上部署ActiveMQ的Pure Master/Slave,

此处我们来讨论一下Pure Master—Slave的配置方法和相关的测试,activemq5.8.0以后版本取下pure master slave

Pure模式的M-S部署,相当于部署了两套相互独立的ActiveMQ实例,它们拥有各自的存储系统。这也是提供HA的最简单的一种方式。此种方式只有两个MQ实例。

此种配置方式的话,Master端不用做任何配置,只要在Slave端指定Master即可。这种配置的话,Master的所有数据和消息都会被复制一份到Slave,这些复制发生在Master处理这些消息之前。

Slave 会在启动的时候连接到Master,因此,先要运行Master,然后才能启动Slave。启动后的Salve是不会处理任何消息分发的。它自身也不会初始化任何网络连接,知道master失败。一个失败的master可以被Salve的连通性检测到。

这种模式下,生产者在发送消息后处于一种等待状态,只有在master确认收到消息后,生产者才可以发送下一条消息给master。然而,master并不是一收到消息后,就立刻发送一个收条给生产者,而是当将此消息成工复制到slave后才,并且master处理了此消息后才发送给生产者。

maser机器IP:192.168.1.211

slave机器IP:192.168.1.210

1、下载最新版的 ActiveMQ

2、将apache-activemq-5.7.0-bin.tar.gz拷贝至master机器 和 slave机器

3、解压缩apache-activemq-5.7.0-bin.tar.gz

  1. tar zxvf apache-activemq-5.7.0-bin.tar.gz
  2. cd apace-activemq-5.7.0/bin
  3. ./actimemq setup /etc/default/activemq
4、修改192.168.1.211中的conf目录下的activemq.xml (master主机,可以不需要修改)

  1. vim activemq.xml
  2. 配置服务默认端口号,例如:

  3. 备注:黄色是协议名称,openwire 是一种协议,传输的是二进制数据;stomp是一种文本数据协议,这块是新增的;

5、修改192.168.1.210中的conf目录下的activemq.xml (slave主机)

  1. masterConnectorURI="tcp://192.168.1.211:61616" shutdownOnMasterFailure="false">
6、启动主ActiveMQ
  1. ./activemq start
./activemq start
7、启动从ActiveMQ
  1. ./activemq start
./activemq start
8、 检查已经启动:ActiveMQ默认采用61616端口提供JMS服务,使用8161端口提供管理控制台服务(浏览器访问 192.168.1.211:8161/admin 可以查看一些监控信息;),执行以下命令以便检验是否已经成功启动ActiveMQ服务:netstat -ln | grep 61
备注:你可以看到一下相关信息;


9、停止ActiveMQ:首先查看PID(ps -ef | grep activemq),然后kill -9 PID;

以上是基本主备集群的配置,这种集群配置有点问题需要注意一下:
1、客户端连接的时候需要配置好主备的两个 IP/PORT,以便在主服务器挂掉的时候能自动连上备机
2、主服务器挂掉的时候,备机会自动接手客户端请求,主服务器重启后,需要手动关闭备机上的 ActiveMQ ,才能启动主服务器上的 ActiveMQ,然后再启动备机的 ActiveMQ

客户端需要通过以下方式去链接MQ:

failover://(tcp://masterhost:61616,tcp://slavehost:61616)?randomize=false



你可能感兴趣的:(linux,中间件)