当前位置: 首页 > news >正文

华为银河麒麟 V10(ARM)系统软件部署全攻略:Redis、RabbitMQ、MySQL 等集群搭建指南

一、Redis 集群部署(主从 + 哨兵模式)

1. 环境准备

  • 系统:华为银河麒麟 V10(ARM64)
  • 节点:3 台服务器(1 主 2 从 + 3 哨兵)

2. 安装包下载

bash

# 华为镜像站
wget https://update.cs2c.com.cn/NS/V10/V10SP3-2403/os/adv/lic/base/aarch64/Packages/redis-4.0.14-5.p01.ky10.aarch64.rpm

3. 安装与初始化

bash

# 卸载旧版本(如有)
rpm -e --nodeps $(rpm -qa | grep redis)
# 安装
rpm -ivh redis-4.0.14-5.p01.ky10.aarch64.rpm

4. 主节点配置(/etc/redis.conf)

conf

bind 0.0.0.0          # 监听所有IP
protected-mode no     # 关闭保护模式
port 6379             # 端口
daemonize yes         # 守护进程
requirepass ky1!      # 密码
appendonly yes        # 开启AOF

5. 从节点配置

conf

# 新增配置(其余同主节点)
slaveof 192.168.0.1 6379  # 主节点IP+端口
masterauth ky1!           # 主节点密码

6. 哨兵配置(/etc/redis-sentinel.conf)

conf

bind 0.0.0.0          # 监听所有IP
protected-mode no     # 关闭保护模式
port 26379            # 哨兵端口
daemonize yes         # 守护进程
sentinel monitor mymaster 192.168.0.1 6379 2  # 监控主节点
sentinel auth-pass mymaster ky1!              # 主节点密码

7. 启动与验证

bash

# 启动Redis
redis-server /etc/redis.conf
# 启动哨兵
redis-sentinel /etc/redis-sentinel.conf &
# 查看状态
redis-cli -a ky1! -p 26379 info Sentinel

二、RabbitMQ 集群部署(镜像队列 + 负载均衡)

1. 依赖安装

bash

# OpenSSL
rpm -ivh openssl-1.1.1f-31.p23.ky10.aarch64.rpm
# Erlang
rpm -ivh erlang-21.3.3-4.ky10.aarch64.rpm
# Socat
rpm -ivh socat-1.7.3.2-8.p01.ky10.aarch64.rpm

2. 服务安装

bash

# 安装RabbitMQ
rpm -ivh rabbitmq-server-3.7.23-1.ky10.aarch64.rpm

3. 基础配置

bash

# 开启管理插件
rabbitmq-plugins enable rabbitmq_management
# 创建管理员用户
rabbitmqctl add_user super super
rabbitmqctl set_user_tags super administrator
rabbitmqctl set_permissions -p / super ".*" ".*" ".*"

4. 集群搭建

(1)节点配置
  • 修改主机名hostnamectl set-hostname node1(3 台分别设置)
  • 同步 Erlang Cookie

    bash

    # 主节点复制Cookie到从节点
    scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/
    chmod 600 /var/lib/rabbitmq/.erlang.cookie  # 三台执行
    
(2)集群命令

bash

# 节点2加入节点1
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@node1
rabbitmqctl start_app
# 开启镜像策略(所有队列同步)
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

三、Haproxy 负载均衡配置

1. 编译安装

bash

tar xf haproxy-2.9.0.tar.gz
cd haproxy-2.9.0
make TARGET=linux-glibc PREFIX=/opt/haproxy
make install
# 环境变量
echo 'export PATH=$PATH:/opt/haproxy/sbin' >> /etc/profile
source /etc/profile

2. 配置文件(/etc/haproxy/haproxy.cfg)

conf

listen rabbitmq_clusterbind :5672mode tcpbalance roundrobinserver mq-node1 node1:5672 check inter 5000 rise 2 fall 3server mq-node2 node2:5672 check inter 5000 rise 2 fall 3
listen monitorbind :8100mode httpstats enablestats uri /stats

四、Keepalived 高可用部署

1. 安装配置

bash

# 依赖安装
yum -y install automake
# 编译安装
tar xvzf keepalived-2.2.8.tar.gz
cd keepalived-2.2.8
./configure --prefix=/usr/local/keepalived --sysconf=/etc
make && make install

2. 主节点配置(keepalived.conf)

conf

vrrp_instance VI_1 {state MASTERinterface ens192virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass w123456}virtual_ipaddress {192.168.0.100  # 虚拟IP}
}

3. 监控脚本(check_haproxy.sh)

bash

#!/bin/bash
A=$(ps -C haproxy --no-header | wc -l)
if [ $A -eq 0 ]; thenhaproxy -f /etc/haproxy/haproxy.cfgsleep 3[ $(ps -C haproxy --no-header | wc -l) -eq 0 ] && systemctl stop keepalived
fi

五、JDK 与 Tomcat 部署

1. JDK 安装

bash

# 下载解压
tar -zxvf jdk-8u441-linux-aarch64.tar.gz -C /usr/local/java
# 环境变量
echo 'export JAVA_HOME=/usr/local/java/jdk1.8.0_402' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
source /etc/profile

2. Tomcat 启动

bash

# 安装
yum -y localinstall tomcat-9.0.10-31.ky10.noarch.rpm
# 启动
systemctl start tomcat
# 验证
curl http://localhost:8080

六、MySQL 主从复制(8.0 版本)

1. 环境清理

bash

# 卸载旧版本
rpm -e --nodeps $(rpm -qa | grep -E 'mysql|mariadb')
find / -name mysql | xargs rm -rf

2. 主服务器配置

conf

# my.cnf
[mysqld]
server-id=1
log-bin=mysql-bin
binlog_format=ROW
lower_case_table_names=1

3. 从服务器配置

conf

# my.cnf
[mysqld]
server-id=2
relay-log=mysqld-relay-bin
read-only=1  # 只读模式

4. 主从同步

sql

-- 主库创建用户
CREATE USER 'replica'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%';
-- 从库配置同步
CHANGE MASTER TOMASTER_HOST='192.168.0.1',MASTER_USER='replica',MASTER_PASSWORD='password',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=100;
START SLAVE;

七、最佳实践与注意事项

  1. 防火墙配置

    bash

    # Redis端口
    firewall-cmd --add-port=6379/tcp --permanent
    # RabbitMQ端口
    firewall-cmd --add-port=5672/tcp --add-port=15672/tcp --permanent
    # MySQL端口
    firewall-cmd --add-port=3306/tcp --permanent
    firewall-cmd --reload
    
  2. 开机自启

    bash

    systemctl enable redis
    systemctl enable rabbitmq-server
    systemctl enable mysqld
    
  3. 安全加固

    • 使用强密码策略(requirepass/rabbitmqctl/ALTER USER
    • 限制远程访问 IP(结合bind/haproxy ACL
    • 定期备份(Redis RDB/AOF、MySQL 物理备份)

总结

本文基于华为银河麒麟 V10 ARM64 架构,详细介绍了 Redis、RabbitMQ、MySQL 等主流中间件的集群部署方案,结合 Haproxy+Keepalived 实现高可用负载均衡。所有步骤经过官方文档校验,适用于生产环境部署。通过标准化配置和最佳实践,确保系统稳定性与性能优化,为企业级应用提供可靠的底层支撑。

http://www.xdnf.cn/news/355069.html

相关文章:

  • Java设计模式之工厂方法模式:从入门到精通
  • 全球首款无限时长电影生成模型SkyReels-V2本地部署教程:视频时长无限制!
  • 星光云720全景VR系统升级版,720全景,360全景,vr全景,720vr全景
  • 游戏引擎学习第267天:为每个元素添加裁剪矩形
  • 【Qt】之【Bug】点击按钮(ui->pushButton)触发非本类设置的槽函数
  • 污水处理厂逆袭:Ethernet/IP 转 CANopen 开启“智净”时代
  • 【计算机视觉】OpenCV实战项目: Fire-Smoke-Dataset:基于OpenCV的早期火灾检测项目深度解析
  • 【Qt】编译 Qt 5.15.x For Windows 基础教程 Visual Studio 2019 MSVC142 x64
  • 记录 Mysql5.7 升级到 Mysql8.0 遇到的问题
  • vscode离线安装python插件
  • 红黑树算法笔记
  • 解决 Ubuntu DNS 无法解析问题(适用于虚拟机 长期使用)
  • RT-THREAD RTC组件中Alarm功能驱动完善
  • 【RAG】重点部分 RAG-Fusion, Decomposition, HyDE 和 Routing
  • Java设计模式之建造者模式:从入门到精通
  • Spring MVC Session 属性 (@SessionAttributes) 是什么?如何使用它共享数据?
  • Docker Compose 的详细使用总结、常用命令及配置示例
  • Java启动和停止jar文件sh脚本:自适应文件名方式启停 + 写死环境 启动;自适应文件名方式 + 命令行传参切换环境 启动
  • Spring、SpringMVC、SpringBoot、SpringCloud 联系与区别
  • Java、javax 和 Jakarta有什么区别?
  • 《P1177 【模板】排序》
  • MySQL 性能调优:从执行计划到硬件瓶颈
  • 人力资源管理系统如何有效提高招聘效率?
  • 若依定制pdf生成实战
  • neo4j图数据库基本概念和向量使用
  • AI云防护真的可以防攻击?你的服务器用群联AI云防护吗?
  • ESD防护ANT静电防护方案
  • 学前数学思维:初始行程
  • Docker常见疑难杂症解决指南:深入解析与实战解决方案
  • Spring 框架实战:如何实现高效的依赖注入,优化项目结构?