Linux下搭建Activemq的Master-Slave(共享文件模式)

注释:这里演示的是nfs服务器和activemq主节点放在一起,谁先启动谁就是主

1.主服务器配置

安装NFS服务nfs-untils和rpcbind

#yum -y install nfs-utils rpcbind

centos7自带了rpcbind,rpc监听在111端口。

启动rpcbind服务(一定要先启动rpcbind服务再启动nfs服务)

systemctl start rpcbind.service

查看rpcbind服务状态

systemctl status rpcbind.service

#查看rpc

netstat -lntup | grep rpcbind

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1016/rpcbind

tcp6 0 0 :::111 :::* LISTEN 1016/rpcbind

udp 0 0 0.0.0.0:111 0.0.0.0:* 1016/rpcbind

udp 0 0 0.0.0.0:766 0.0.0.0:* 1016/rpcbind

udp6 0 0 :::111 :::* 1016/rpcbind

udp6 0 0 :::766 :::* 1016/rpcbind

把rpcbind另入开机自启动

systemctl enable rpcbind.service

systemctl list-unit-files|grep enabled|grep rpcbind

rpcbind.service enabled

启动NFS服务并查看其状态

systemctl start nfs.service

systemctl status nfs.service

把NFS服务加入开机自启动并查看其状态

systemctl enable nfs.service

systemctl list-unit-files | grep nfs

#创建配置文件

vi /etc/exports

#把主的mq信息放在exports文件下(注意ip和文件夹位置,参考下面第2和3行)

cat /etc/exports

/opt/apache-activemq-5.16.3/data/kahadb 172.16.7.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)

#这里/data_share 为共享目录

#再次修改后,执行exportfs --rv让配置立即生效

exportfs -rv

exporting 172.16.7.0/24:/opt/apache-activemq-5.16.3/data/kahadb

(这里的exports可以先不管)

exportfs:NFS服务端发布共享控制命令。

-r:表示重新刷新共享。

-a:表示将配置文件/etc/exports中的所有定义共享发布出去。

-v:显示确认共享设置。

-u:表示不发布共享。

查看nfs服务器挂载情况

showmount -e localhost

Export list for localhost:

/opt/apache-activemq-5.16.3/data/kahadb 172.16.7.0/24

2.从服务器配置

安装NFS服务nfs-untils和rpcbind

yum -y install nfs-utils rpcbind

创建挂载目录(nas目录)

mkdir /data_mq

挂载(注意ip和文件夹位置)

mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,intr,rsize=65536,wsize=65536 172.16.7.88:/opt/apache-activemq-5.16.3/data/kahadb /data_mq

添加开机自启动

centos7需要给rc.local赋予执行权限后,rc.local文件才能生效

chmod +x /etc/rc.d/rc.local

vi /etc/rc.d/rc.local

#最后一行添加(必须加这个,不然服务器重启后,该目录没有挂载成功)

mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,intr,rsize=65536,wsize=65536 172.16.7.88:/opt/apache-activemq-5.16.3/data/kahadb /data_mq

3.主从服务器nas设置( /data_mq/ 为nas目录

cd /opt/apache-activemq-5.16.3/conf

vi activemq.xml

<persistenceAdapter>

<kahaDB directory="/data_mq/"/>

</persistenceAdapter>

4.启动主从,检查主备服务是否配置成功

主服务器:

cd /opt/apache-activemq-5.16.3/bin

./activemq start && tail -f ../data/activemq.log

查看输出日志信息

2021-12-14 17:29:16,769 | WARN | Could not accept connection from tcp://10.128.233.128:41847: Connection reset (Connection reset) | org.apache.activemq.broker.TransportConnector | ActiveMQ BrokerService[localhost] Task-2

从服务器:

cd /opt/apache-activemq-5.16.3/bin

./activemq start && tail -f ../data/activemq.log

查看输出日志信息

2021-12-14 17:23:15,679 | INFO | Using Persistence Adapter: KahaDBPersistenceAdapter[/opt/apache-activemq-5.16.3/data/kahadb] | org.apache.activemq.broker.BrokerService | main

2021-12-14 17:23:15,685 | INFO | Database /opt/apache-activemq-5.16.3/data/kahadb/lock is locked by another server. This broker is now in slave mode waiting a lock to be acquired | org.apache.activemq.store.SharedFileLocker | main

#出现此信息表示主备节点建立成功

Database /opt/apache-activemq-5.16.3/data/kahadb/lock is locked by another server. This broker is now in slave mode waiting a lock to be acquired

模拟主节点故障,停掉主节点mq程序,观察备节点日志输出信息,备用mq打印日志表示切换成功

遇到的问题

每次启动端口都不一致

是因为这个文件有锁,删除就可以了

相关推荐
程途拾光1585 小时前
企业部门协作泳道图制作工具 PC端
大数据·运维·流程图
dishugj6 小时前
【linux】Redhat 6.3系统安装zabbix-agent软件包,无法使用YUM源问题
linux·运维·zabbix
无奈笑天下6 小时前
【麒麟镜像vmtools异常排查指导书】
linux·运维·经验分享·云计算·kylin
dajun1811234566 小时前
PC端中文免费在线跨职能泳道图制作工具
运维·架构·流程图·敏捷流程·交通物流
Xの哲學7 小时前
Linux多级时间轮:高精度定时器的艺术与科学
linux·服务器·网络·算法·边缘计算
FlourishingMind7 小时前
蓝牙授时CTS (Current Time Service)、PTP、NTP
运维·服务器·网络
2301_800050997 小时前
docker
运维·docker·容器
QT 小鲜肉7 小时前
【Linux命令大全】001.文件管理之mmove命令(实操篇)
linux·服务器·前端·chrome·笔记
Winner13007 小时前
查看rk3566摄像头设备、能力、支持格式
linux·网络·人工智能
MaximusCoder8 小时前
Linux信息收集Command
运维·服务器·经验分享