Apache ActiveMQ的Activemq-Broker-Cluster集群实现有两种方式:分别为Static静态集群部署方式和Dynamic自动发现集群部署方式。这两种集群部署方式的区别如下:
Static静态集群部署方式
Static方式就是在broker的配置中,静态指定要连接到其它broker的地址,例如:
<networkConnector uri="static:(tcp://shizhanxia.com-host1:61616)"/>
说明: shizhanxia.com-host1表示连接目标的地址,61616是连接目标开放的端口。
Dynamic自动发现集群部署方式
ActiveMQ通过组播方式将自己的信息发送出去,接收到的信息的机器再来连接这个发送源。默认情况下,ActiveMQ发送的是机器名,可以通过配置修改成发送IP地址。
本文档主要介绍采用Static静态集群部署方式
第一步:下载ActiveMQ安装包
下载最新版本的ActiveMQ安装包需要访问官网,下载地址为:http://activemq.apache.org/download.html
在写文档的时候,最新版本为5.17.2版本,以下文档我们就用此版本来部署Activemq-Broker-Cluster集群。
第二步:解压安装包
[root@shizhanxia.com-host1 ~]# tar zxvf apache-activemq-5.17.2-bin.tar.gz -C /usr/local/ [root@shizhanxia.com-host1 ~]# mv /usr/local/apache-activemq-5.17.2 /usr/local/activemq
第三步:配置环境变量
官方文档说明正常运行ActiveMQ5.12.2版本需要Java compatibility:11,因此我们首先需要安装openjdk11。
[root@shizhanxia.com-host1 ~]# yum install -y java-11-openjdk-* [root@shizhanxia.com-host1 ~]# vi /etc/profile export ACTIVEMQ_HOME=/usr/local/activemq export ACTIVEMQ_BIN=$ACTIVEMQ_HOME/bin export JAVA_HOME=/usr/lib/jvm/java-11-openjdk export JRE_HOME=/usr/lib/jvm/java-11-openjdk export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$ACTIVEMQ_BIN [root@shizhanxia.com-host1 ~]# source /etc/profile
第四步:Activemq-Broker-Cluster集群部署
1.备份所有节点上的activemq.conf配置文件
[root@shizhanxia.com-test1 ~]# cp -arf /usr/local/activemq/conf/activemq.xml /usr/local/activemq/conf/activemq.xml.bak
2.修改shizhanxia.com-host1主机配置文件
修改shizhanxia.com-host1的/usr/local/activemq/conf/activemq.xml,在<broker></broker>标签中添加以下代码:
[root@shizhanxia.com-test1 ~]# vi /usr/local/activemq/conf/activemq.xml <networkConnectors> <networkConnector userName="${activemq.username}" password="${activemq.password}" uri="static:(tcp://shizhanxia.com-host2:61616)"/> </networkConnectors> <plugins> <simpleAuthenticationPlugin> <users> <authenticationUser username="${activemq.username}" password="${activemq.password}" groups="users,admins"/> </users> </simpleAuthenticationPlugin> </plugins>
3.修改brokerName名称
将brokerName=”localhost”修改为brokerName=”shizhanxia.com-host1″
[root@shizhanxia.com-test1 ~]# vi /usr/local/activemq/conf/activemq.xml <broker xmlns="http://activemq.apache.org/schema/core" brokerName="shizhanxia.com-host1" dataDirectory="${activemq.data}">
4.修改控制台
修改控制台登录地址和端口,需要编辑conf/jetty.xml
[root@shizhanxia.com-test1 ~]# vi /usr/local/activemq/conf/jetty.xml <!-- the default port number for the web console --> <property name="host" value="0.0.0.0"/> <property name="port" value="8161"/>
5.修改客户端
修改客户端访问ActiveMQ密码,需要修改conf/credentials.properties
[root@shizhanxia.com-test1 ~]# vi /usr/local/activemq/conf/credentials.properties activemq.username=用户名 activemq.password=密码 guest.password=password
6.修改控制台帐号密码
修改控制台访问的账号密码,需要修改conf/jetty-realm.properties,格式为:用户名:密码,权限。
[root@shizhanxia.com-test1 ~]# vi /usr/local/activemq/conf/jetty-realm.properties # username: password [,rolename ...] admin: shizhanxia.com, admin
7.修改shizhanxia.com-host2主机配置文件
修改shizhanxia.com-host2的/usr/local/activemq/conf/activemq.xml,在<broker></broker>标签中添加以下代码:
原创文章,作者:保哥,如若转载,请注明出处:https://www.shizhanxia.com/1196.html