当前位置: 首页> 教育> 培训 > 网站代理怎么做_一个网址需要多少钱_百度网页入口_故事性营销软文

网站代理怎么做_一个网址需要多少钱_百度网页入口_故事性营销软文

时间:2025/8/27 11:45:47来源:https://blog.csdn.net/wangxin_wangxin/article/details/144189698 浏览次数:0次
网站代理怎么做_一个网址需要多少钱_百度网页入口_故事性营销软文

ActiveMQ基于共享目录的主从配置方案

背景:

公司早期安装的ActiveMQ服务,因为硬件服务器需要搬迁,需要重新安装,原先本身就是采用的主从方案。

所以,新服务器上的安装方式,同样采用主从模式。

方案:

从数据一致性、配置复杂度、高可用、灵活扩展,维护性多方面考虑下来,采用 ActiveMQ + GlusterFS 基于共享目录的主从配置方案。

环境:

CPU: 4Core

内存:8G

存储:100G

系统:CentOS Linux release 7.9.2009 (Core)

服务器1:192.168.1.166(Master)

服务器2:192.168.1.167(Slave)

共享目录名称:/shared-vol

GlusterFS 版本:9.6

ActiveMQ版本:apache-activemq-5.13.0-bin.tar.gz

Java:1.8

1 安装GlusterFS

1.1 安装服务

配置GlusterFS源:

tee /etc/yum.repos.d/gluster-9.repo << \EOF
[gluster-9]
name=GlusterFS 9 for CentOS 7
baseurl=https://vault.centos.org/7.9.2009/storage/x86_64/gluster-9
enabled=1
gpgcheck=0
EOF

清理缓存并重新生成

sudo yum clean all
sudo yum makecache

安装 GlusterFS 存储库

yum install -y centos-release-gluster

安装 GlusterFS 服务

yum install -y glusterfs glusterfs-server glusterfs-fuse

启动并设置 GlusterFS 服务开机自启

systemctl start glusterd
systemctl enable glusterd

检查 GlusterFS 服务状态

systemctl status glusterd

1.2 配置共享存储

配置信任关系

在两台服务器之间建立互信,确保它们能够通信。

Master 上执行:

gluster peer probe 192.168.1.167

在两个节点上验证是否已连接:

gluster peer status

应显示 Connected 状态。

创建存储目录

在两台服务器上分别创建存储目录:

mkdir -p /data/glusterfs/brick1

创建存储卷

在任意一台服务器(推荐主节点 Master)上创建存储卷:

gluster volume create shared-vol replica 2 transport tcp \
192.168.1.166:/data/glusterfs/brick1 \
192.168.1.167:/data/glusterfs/brick1 force
  • replica 2:设置为副本模式,保证数据同步。
  • transport tcp:使用 TCP 协议通信。
  • 在命令末尾添加 force 参数,使用根分区作为存储。

启动存储卷:

gluster volume start shared-vol

验证存储卷状态:

gluster volume info

1.3 挂载共享目录

在两台服务器上分别执行以下步骤:

创建挂载点目录

mkdir -p /mnt/glusterfs

挂载共享卷

mount -t glusterfs 192.168.1.166:/shared-vol /mnt/glusterfs

验证挂载成功

df -h | grep glusterfs

输出应显示 /mnt/glusterfs 已挂载到 GlusterFS 共享卷。

配置开机自动挂载: 在 /etc/fstab 文件中添加以下条目:

192.168.1.166:/shared-vol /mnt/glusterfs glusterfs defaults,_netdev 0 0

测试挂载配置:

mount -a

1.4 测试高可用性

验证目录互通:

Master 节点 创建测试文件:

echo "Hello from Master" > /mnt/glusterfs/test.txt

Slave 节点 检查是否存在相同文件:

cat /mnt/glusterfs/test.txt

验证故障切换:

停止 Master 节点 GlusterFS 服务

systemctl stop glusterd

在 Slave 节点检查是否仍能访问共享数据

ls /mnt/glusterfs

重新启动 Master 节点服务

systemctl start glusterd

1.5 更多命令

删除卷:

gluster volume stop shared-vol

2 安装jdk

安装java 1.8 环境,分别在两台节点上执行安装命令:

yum install -y java-1.8.0-openjdk

查看版本:

java -version

3 安装ActiveMQ

**3.1 创建ActiveMQ专用用户 **

为了安全性,可以创建专用的 activemq 用户运行服务:

useradd -r -s /bin/false activemq
  • 设置该用户的默认 Shell 为 /bin/false,即 禁止登录系统
3.2 下载并解压 ActiveMQ

在两台服务器上执行以下操作:

wget https://archive.apache.org/dist/activemq/5.13.0/apache-activemq-5.13.0-bin.tar.gz
tar -zxvf apache-activemq-5.13.0-bin.tar.gz -C /opt
mv /opt/apache-activemq-5.13.0 /opt/activemq

授权用户组:

chown -R activemq:activemq /opt/activemq
3.3 创建数据存储目录

ActiveMQ 数据目录准备配置到共享目录中,在共享目录中为数据存储创建子目录,并授权用户组:

mkdir -p /mnt/glusterfs/activemq/kahadb
chown -R activemq:activemq /mnt/glusterfs/activemq/kahadb
3.4 配置主从模式

ActiveMQ 支持基于共享存储的主从配置,这种模式确保只有一个节点在运行,另一节点处于备用状态。

在两台服务器上配置相同的 ActiveMQ:

编辑配置文件 /opt/activemq/conf/activemq.xml,定位现有 <broker> 节点,改为如下:

<broker xmlns="http://activemq.apache.org/schema/core"brokerName="sharedBroker"useJmx="true"persistent="true"><!-- 使用共享文件系统持久化 --><persistenceAdapter><kahaDB directory="/mnt/glusterfs/activemq/kahadb"><locker><shared-file-locker /></locker></kahaDB></persistenceAdapter><!-- Transport Connectors --><transportConnectors><transportConnector name="openwire" uri="tcp://0.0.0.0:61616" /><transportConnector name="stomp" uri="stomp://0.0.0.0:61613" /></transportConnectors>
</broker>

关键变化

  • brokerName:修改为唯一标识名称(如 sharedBroker)。
  • dataDirectory:可省略或修改为共享存储路径,但更推荐直接通过 <kahaDB> 定义路径。
  • <sharedFileSystemMasterSlave/>:启用共享存储的主从模式。
  • <kahaDB>:明确指定 GlusterFS 共享路径。

同步配置文件: 确保两台服务器的 ActiveMQ 配置文件(/opt/activemq/conf/activemq.xml)完全一致。

3.5 启动 ActiveMQ

在两台服务器上启动 ActiveMQ 服务:

su activemq
/opt/activemq/bin/activemq start

验证主从状态:

查看日志

/opt/activemq/data/activemq.log
  • 在主节点上,日志会显示类似以下内容:

    INFO | Apache ActiveMQ 5.13.0 (sharedBroker, ID:Master-1) is starting
    
  • 在从节点上,日志会显示:

    INFO | Waiting for the shared file system to become active
    
3.6 验证高可用性

测试主节点故障切换

  • 停止主节点服务:

    su activemq
    /opt/activemq/bin/activemq stop
    
  • 检查从节点日志,从节点应接管主节点的角色。

恢复主节点

  • 重启主节点服务并检查日志,从节点会自动回退到备用状态。

优点

  1. 高可用:主从模式确保 ActiveMQ 服务不中断。
  2. 数据一致性:共享目录通过 GlusterFS 确保数据同步。
  3. 易扩展:可以添加更多节点到共享文件系统中。
3.7 配置开机自启服务

创建Systemd服务文件

/etc/systemd/system/ 生成 activemq.service 服务文件

tee /etc/systemd/system/activemq.service << \EOF
[Unit]
Description=Apache ActiveMQ Message Broker
After=network.target glusterd.service
Requires=glusterd.service[Service]
Type=forking
User=activemq
Group=activemq
ExecStart=/opt/activemq/bin/activemq start
ExecStop=/opt/activemq/bin/activemq stop
Restart=on-failure# 等待 GlusterFS 挂载完成再启动 ActiveMQ
ExecStartPre=/bin/bash -c 'while [ ! -d /mnt/glusterfs/activemq/kahadb ]; do sleep 1; done'# 确保启动日志保存路径存在
Environment="ACTIVEMQ_LOG_DIR=/opt/activemq/data/log"
Environment="ACTIVEMQ_HOME=/opt/activemq"
Environment="ACTIVEMQ_BASE=/opt/activemq"
Environment="ACTIVEMQ_CONF=/opt/activemq/conf"
Environment="ACTIVEMQ_DATA=/opt/activemq/data"[Install]
WantedBy=multi-user.target
EOF

说明

  • ExecStartExecStop 是 ActiveMQ 的启动和停止脚本路径,请根据你的实际安装目录调整路径(通常是 /opt/activemq/bin/activemq)。
  • UserGroup 指定运行 ActiveMQ 的用户和用户组。建议创建专用用户,如 activemq,避免使用 root

设置权限并刷新服务

# 重新加载 systemd 服务文件
systemctl daemon-reload# 设置 ActiveMQ 服务开机自启
systemctl enable activemq.service# 启动 ActiveMQ 服务
systemctl start activemq.service# 检查服务状态
systemctl status activemq.service

重启验证

先 reboot 192.168.1.166(Master)机器,看是不是Salve接力了;

再 reboot 192.168.1.167(Slave)机器,看是不是又切回Master了;

3.8 web控制台访问

访问地址:

Master http://192.168.1.166:8161/

Salve http://192.168.1.167:8161/

当Master是正常情况下,Salve控制台是不能访问的,除非Master故障,Salve接力后,Salve的web控制台才能正常访问。

这里没有修改默认账号密码,所以web控制台登录的账号密码为:admin/admin

引用Reference

  • CentOS8搭建nfs服务
  • Kubernetes1.25.4版本安装
  • kubeasz安装kubernetes1.25.5
  • k8s一键安装redis单机版
  • k8s一键安装mysql8单机版
  • k8s部署springboot应用
  • Docker安装及学习
  • Docker制作springboot运行应用镜像
  • Docker制作Java8环境镜像
  • Docker安装Mysql5.7.31
  • Docker安装Mysql8.1.0
  • Elasticsearch单机版本安装
  • Elasticsearch集群安装
  • ELK安装
  • Docker安装ELK
  • zookeeper集群安装
  • Nginx日志切割
  • RabbitMQ集群安装
  • Docker安装RabbitMQ单机版
  • springboot集成prometheus+grafana
  • windows11安装android应用
  • Windows下多个JDK版本快速切换
  • MongoDB主从仲裁模式安装
  • ActiveMQ基于共享目录的主从配置方案
关键字:网站代理怎么做_一个网址需要多少钱_百度网页入口_故事性营销软文

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: