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打印日志表示切换成功

遇到的问题

每次启动端口都不一致

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

相关推荐
ajassi20003 小时前
开源 Linux 服务器与中间件(十)Mqtt协议和Emqx服务器安装测试
linux·服务器·开源
Teamhelper_AR3 小时前
AR巡检系统:打开工业智能运维的下一幕
运维·ar
道阻且长行则将至!4 小时前
ubuntu中为什么查看CPU的步进?查看命令是什么?
linux·运维·ubuntu·步进·stepping
MeowKnight9584 小时前
【Linux】常见的系统调用 函数和功能简单总结
linux·1024程序员节
Dobby_054 小时前
【Linux】安装 Rocky Linux 9 并配置 Kubernetes 集群基础环境 | VMware | Win11
linux·云原生·kubernetes
爱隐身的官人4 小时前
Ubuntu安装开源堡垒机JumpServer
linux·ubuntu·堡垒机·1024程序员节
杨筱毅4 小时前
【底层机制】Linux内核4.10版本的完整存储栈架构讲解--用户空间到物理设备完整IO路径
linux·架构·1024程序员节·底层机制
Wang's Blog5 小时前
Linux小课堂: 网络接口与连接监控命令详解
linux·运维·服务器
纳切威5 小时前
CentOS 10 系统安装
linux