ActiveMQ-CentOS6的主从架构
ActiveMQ的主从架构:
环境:
角色 | IP | 主机名 |
---|---|---|
ActiveMQ主 | 172.16.0.211 | ActiveMQ1 |
ActiveMQ从 | 172.16.0.212 | ActiveMQ2 |
NFS集中存储 | 172.16.0.213 | NFS |
1. NFS
1.1 安装
# yum install -y rpcbind nfs-utils nfs4-acl-tools
1.2 创建共享目录
# mkdir -m 1777 /nfs4exports
# mkdir -m 1777 /nfs4exports/data
-m 直接给目录设置权限
1.3 编辑配置文件
# vim /etc/exports
/nfs4exports/data *(rw,nohide,sync,insecure,root_squash,no_subtree_check,fsid=0)
1.4 启动
# service rpcbind start
# service nfs start
# chkconfig rpcbind on
# chkconfig nfs on
2. ActiveMQ主
2.1 安装
2.1.1 安装NFS
# yum install -y nfs-utils nfs4-acl-tools
2.1.2 安装ActiveMQ
安装jdk
# ./jdk-1.7.sh
安装activemq
# ./activemq-5.12.sh
重启
# reboot
检查端口启动是否正常
# netstat -antp | grep java
确认ActiveMQ正常启动。
访问:http://172.16.0.211:8161/
2.2 创建挂载点
# mkdir -m 1777 /nfs4exports
# mkdir -m 1777 /nfs4exports/data
2.3 挂载NFS共享
nfs4
# mount -t nfs4 172.16.0.213:/ /nfs4exports/data/
将挂载命令添加到启动文件中,实现开机自动挂载
# vim /etc/rc.local
ntpdate asia.pool.ntp.org
mount -t nfs4 172.16.0.213:/ /nfs4exports/data/
. /etc/profile
activemq start
2.4 修改ActiveMQ中的配置文件activemq.xml
# cd /opt/apache-activemq-5.12.0/conf/
# vim activemq.xml
40 <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="/nfs4exports">
82 <kahaDB directory="/nfs4exports/data"/>
116 <!--
117 <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
118 -->
2.5 配置ActiveMQ官方样例为可持久化,及写入到上面配置的KahaDB目录中
# vim /opt/apache-activemq-5.12.0/examples/openwire/swissarmy/build.xml
27 <property name="durable" value="true" />
3. ActiveMQ从
3.1 安装
3.1.1 安装NFS
# yum install -y nfs-utils nfs4-acl-tools
3.1.2 安装ActiveMQ
安装jdk
# ./j1.sh
安装activemq
# ./a1.sh
重启
# reboot
# netstat -antp | grep java
确认ActiveMQ正常启动。
访问:http://172.16.0.212:8161/
3.2 创建挂载点
# mkdir -m 1777 /nfs4exports
# mkdir -m 1777 /nfs4exports/data
3.3 挂载NFS共享
# mount -t nfs4 172.16.0.213:/ /nfs4exports/data/
# vim /etc/rc.local
ntpdate asia.pool.ntp.org
mount -t nfs4 172.16.0.213:/ /nfs4exports/data/
. /etc/profile
activemq start
3.4 修改ActiveMQ中的配置文件activemq.xml
# cd /opt/apache-activemq-5.12.0/conf/
# vim activemq.xml
40 <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="/nfs4exports">
82 <kahaDB directory="/nfs4exports/data"/>
116 <!--
117 <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
118 --
3.5 配置ActiveMQ官方样例为可持久化,及写入到上面配置的KahaDB目录中
# vim /opt/apache-activemq-5.12.0/examples/openwire/swissarmy/build.xml
27 <property name="durable" value="true" />
4. 测试集群:
4.1 关闭
---ActiveMQ主---
# activemq stop
---ActiveMQ从---
# activemq stop
4.2 先启动主,再启动从
---ActiveMQ主---
# activemq start
---ActiveMQ从---
# activemq start
*** 在【主|从】上到集中存储的目录查看是否有数据!!!
# df -h | tail -1
172.16.0.213:/ 9.8G 399M 8.9G 5% /nfs4exports/data
# cd /nfs4exports/data/ ; ls
db-1.log db.data db.redo lock
*** 在【主|从】上查看ActiveMQ的状态
主:
# netstat -antp | grep java
tcp 0 0 :::8161 :::* LISTEN 1340/java
tcp 0 0 :::5672 :::* LISTEN 1340/java
tcp 0 0 :::61614 :::* LISTEN 1340/java
tcp 0 0 :::61616 :::* LISTEN 1340/java
tcp 0 0 :::34232 :::* LISTEN 1340/java
tcp 0 0 :::1883 :::* LISTEN 1340/java
从:
# netstat -antp | grep java
tcp 0 0 :::35102 :::* LISTEN 1341/java
4.3 在【主】上关闭ActiveMQ
# activemq stop
4.4 在【从】上查看ActiveMQ的端口
# netstat -antp | grep java
tcp 0 0 :::35102 :::* LISTEN 1341/java
tcp 0 0 :::8161 :::* LISTEN 1340/java
tcp 0 0 :::5672 :::* LISTEN 1340/java
tcp 0 0 :::61614 :::* LISTEN 1340/java
tcp 0 0 :::61616 :::* LISTEN 1340/java
tcp 0 0 :::1883 :::* LISTEN 1340/java
4.5 访问
http://172.16.0.211:8161/ 无法访问
http://172.16.0.212:8161/ 可以访问
END