上一篇我们进行了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
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 |