安装Activemq
安装Zookeeper集群
安装JDK1.8
activemq配置集群
配置节点名
每一个ActiveMQ集群应该有一个统一的名字,所以我们需要修改配置文件“activemq.xml”,将三台服务器的节点名brokerName统一为“ActiveMQ-Cluster”。
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="ActiveMQ-Cluster" dataDirectory="${activemq.data}">
修改持久化适配器
修改配置文件“activemq.xml”,使用性能比较好的LevelDB替换掉默认的KahaDB,具体配置如下:
<persistenceAdapter>
<!--<kahaDB directory="${activemq.data}/kahadb"/>-->
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:62623"
zkAddress="172.18.87.147:2181,172.18.87.148:2181,172.18.87.146:2181"
hostname="172.18.87.147"
zkPath="/root/activemq/leveldb-stores"/>
</persistenceAdapter>
配置项说明:
- directory:持久化数据存放地址
- replicas:集群中节点的个数
- bind:集群通信端口
- zkAddress:ZooKeeper集群地址
- hostname:当前服务器的IP地址,如果集群启动的时候报未知主机名错误,那么就需要配置主机名到IP地址的映射关系。
- zkPath:ZooKeeper数据挂载点
至此,ActiveMQ的高可用集群搭建完成。
启动
通过系统指令
service activemq start
service activemq status
service activemq stop
查看Zookeeper
image.png目前主节点是在147机器上。
使用浏览器访问activemq管理,注意只能通过主节点IP访问。
image.png
测试集群的高可用性
关闭主节点后,主节点转移到
image.png
启动之前的关闭的节点
image.png
代码实例
缺点
只有高可用,但是在高并发场景,还是不行。
网友评论