9 ActiveMQ 高可用

ActiveMQ 高可用

ActiveMQ的高可用原理
       使用ZooKeeper(集群)注册所有的ActiveMQ Broker。只有其中的一个Broker可以提供服务,被视为 Master,其他的 Broker 处于待机状态,被视为Slave。如果Master因故障而不能提供服务,Zookeeper会从Slave中选举出一个Broker充当Master。
Slave连接Master并同步他们的存储状态,Slave不接受客户端连接。所有的存储操作都将被复制到 连接至 Master的Slaves。如果Master宕了,得到了最新更新的Slave会成为 Master。故障节点在恢复后会重新加入到集群中并连接Master进入Slave模式。

集群 http://activemq.apache.org/replicated-leveldb-store

集群搭建: 新建 /mq_cluster 将原始的解压文件复制三个,修改端口 (jetty.xml)

 

增加IP 到域名的映射(/etc/hosts 文件)

修改 为相同的borkername

改为 replica levelDB (3个都配,这里列举一个)

<persistenceAdapter>
    <replicatedLevelDB
      directory="{activemq.data}/leveldb"
      replicas="3"
      bind="tcp://0.0.0.0:63631"
      zkAddress="localhost:2191,localhost:2192,localhost:2193"
      zkPassword="123456"
      sync="local_disk"
      zkPath="/activemq/leveldb-stores"
      hostname="wh-mq-server"
      />
  </persistenceAdapter>

改端口 02 节点 =》 61617 03 节点 =》 61618

修改并保存之后,就是修改jetty的端口号(修改ACTIVEMQ_HOME/bin/jetty.xml文件),因为实在同一台服务器上,不修改的话,第二个和第三个jetty将启动不了。第activemq-1依然使用默认端口8161,activemq-2使用8162,activemq-3使用8163端口,如下图:

想要启动replica leavel DB 必须先启动所有的zookeper 服务

主要说zookeper 复制三份后改配置文件,并让之自动生成 myid 文件,并将zk的端口改为之前表格中对应的端口 。这是conf 下的配置文件

具体的配置为

tickTime=2000
initLimit=10
syncLimit=5
clientPort=2191    // 自行设置
server.1=192.168.17.3:2888:3888
server.2=192.168.17.3:2887:3887
server.3=192.168.17.3:286:3886
dataDir=/zk_server/data/log1    // 自行设置
//批量启动zk脚本
#!/bin/sh             // 注意这个必须写在第一行
cd /zk_server/zk_01/bin

./zkServer.sh  start


cd /zk_server/zk_02/bin
./zkServer.sh  start


cd /zk_server/zk_03/bin
./zkServer.sh  start                                                                                            

到这里,ActiveMQ高可用就配置好了,如果没启动zookeeper的话,先启动zookeeper,然后分别启动activemq-1,activemq-2,activemq-3。进入ACTIVEMQ_HOME/data下,查看activemq.log文件,如果没有报错则说明启动成功!在zookeeper上,可以看到如下数据:

查看我的节点状态

get /activemq/leveldb-stores/00000000003

其中elected不为空的节点表示为Master,由该activemq对外提供服务。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值