基于zookeeper(集群)+levelDB的activeMQ高可用集群搭建

        上一篇我们进行了zookeeper集群的搭建。本篇我们进行activeMQ集群的搭建。

1、activeMQ集群部署规划。

    环境:CentOS、jdk8.

    版本:5.14.3

    zookeeper集群环境192.9.200.130:2181、192.9.200.159.2181,192.9.200.160:2181

主机 集群端口 消息端口 管控台端口 activeMQ安装目录
192.9.200.130 62621 51511 8161 /home/rds
192.9.200.159 62622 51512 8162 /home/rds
192.9.200.160 62623 51513 8163 /home/rds

2、防火墙开放对应上表格管控台端口

3、上传apache-activemq-5.14.3-bin.tar.gz到三台服务器的/home/rds目录下。

        

4、分别解压三台服务器/home/rds目录下的activemq并修改名称。

        tar -zxf apache-activemq-5.14.3-bin.tar.gz

扫描二维码关注公众号,回复: 1727062 查看本文章

        mv apache-activemq-5.14.3 activemq

5、修改三台服务器管控台端口(/home/rds/activemq/conf/jetty.xml)。默认为8161。

        vi /home/rds/activemq/conf/jetty.xml

        192.9.200.130主机:

            

        192.9.200.159主机:

            

        192.9.200.160主机:

            

6、集群配置(重要

        在3台服务器的3个activemq节点中配置conf/activemq.xml的持久化适配器。

        修改其中的bind、zkAddress、hostname和zkPath。

        注意:3个activemq的brokerName必须相同,否则不能加入集群

    192.9.200.130主机的持久化适配器:

              

        

    192.9.200.159主机持久化适配器:

        

        

    192.9.200.160主机持久化适配器:

        

        

    解释:

        将上述的kahaDB注释掉。该持久化方案是基于文件的持久化适配器。

        directory:数据和日志文件目录

        replicas:节点数(一般是(replicas/2 + 1)个,避免集群宕机)

        zkAddress:zookeeper集群地址。

        hostname:activemq所在的主机地址。(本机地址)

        zkPath:主从切换时候选举信息。

7、修改各节点的消息端口。(注意:避免端口冲突),默认消息端口为61616

    192.9.200.130主机消息端口:

        

    192.9.200.159主机消息端口:

        

    192.9.200.160主机消息端口:

        

8、设置开机启动(可省略)

    #vi /etc/rc.local    (分别在3台主机上执行)

    su - rds -c '/home/rds/activemq/bin/activemq start'

    su - rds -c '/home/rds/activemq/bin/activemq start'

    su - rds -c '/home/rds/activemq/bin/activemq start'

9、按顺序启动该3个节点

    /home/rds/activemq/bin/activemq start

    监听日志:

        tail -f /home/rds/activemq/data/activemq.log

10、集群节点状态分析。

    下载ZooInspector。具体使用可以问度娘,这里不再赘述。

    集群启动后对Zookeeper数据的抓图,可以看到activemq有3个节点。分别是:0000000026,0000000027,0000000028

    下图第一张展现了0000000026节点的值。可以看到elected不为空,说明这个节点是Master,其他两个是Slave。

        

11、集群的可用性测试。

    activeMQ的客户端只能访问Master的Broker,其他处于Slave的Broker不能访问。

    

    所以:客户端一般配置为:

failover:(tcp:192.9.200.130:51511,192.9.200.159:51512,192.9.200.160:51513)?randomize=false



        

猜你喜欢

转载自blog.csdn.net/qq_39244264/article/details/80436275