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
bash
# 卸载旧版本(如有)
rpm -e --nodeps $(rpm -qa | grep redis)
# 安装
rpm -ivh redis-4.0.14-5.p01.ky10.aarch64.rpm
conf
bind 0.0.0.0 # 监听所有IP
protected-mode no # 关闭保护模式
port 6379 # 端口
daemonize yes # 守护进程
requirepass ky1! # 密码
appendonly yes # 开启AOF
conf
# 新增配置(其余同主节点)
slaveof 192.168.0.1 6379 # 主节点IP+端口
masterauth ky1! # 主节点密码
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! # 主节点密码
bash
# 启动Redis
redis-server /etc/redis.conf
# 启动哨兵
redis-sentinel /etc/redis-sentinel.conf &
# 查看状态
redis-cli -a ky1! -p 26379 info Sentinel
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
bash
# 安装RabbitMQ
rpm -ivh rabbitmq-server-3.7.23-1.ky10.aarch64.rpm
bash
# 开启管理插件
rabbitmq-plugins enable rabbitmq_management
# 创建管理员用户
rabbitmqctl add_user super super
rabbitmqctl set_user_tags super administrator
rabbitmqctl set_permissions -p / super ".*" ".*" ".*"
hostnamectl set-hostname node1
(3 台分别设置)bash
# 主节点复制Cookie到从节点
scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/
chmod 600 /var/lib/rabbitmq/.erlang.cookie # 三台执行
bash
# 节点2加入节点1
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@node1
rabbitmqctl start_app
# 开启镜像策略(所有队列同步)
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
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
conf
listen rabbitmq_cluster
bind :5672
mode tcp
balance roundrobin
server mq-node1 node1:5672 check inter 5000 rise 2 fall 3
server mq-node2 node2:5672 check inter 5000 rise 2 fall 3
listen monitor
bind :8100
mode http
stats enable
stats uri /stats
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
conf
vrrp_instance VI_1 {
state MASTER
interface ens192
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass w123456
}
virtual_ipaddress {
192.168.0.100 # 虚拟IP
}
}
bash
#!/bin/bash
A=$(ps -C haproxy --no-header | wc -l)
if [ $A -eq 0 ]; then
haproxy -f /etc/haproxy/haproxy.cfg
sleep 3
[ $(ps -C haproxy --no-header | wc -l) -eq 0 ] && systemctl stop keepalived
fi
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
bash
# 安装
yum -y localinstall tomcat-9.0.10-31.ky10.noarch.rpm
# 启动
systemctl start tomcat
# 验证
curl http://localhost:8080
bash
# 卸载旧版本
rpm -e --nodeps $(rpm -qa | grep -E 'mysql|mariadb')
find / -name mysql | xargs rm -rf
conf
# my.cnf
[mysqld]
server-id=1
log-bin=mysql-bin
binlog_format=ROW
lower_case_table_names=1
conf
# my.cnf
[mysqld]
server-id=2
relay-log=mysqld-relay-bin
read-only=1 # 只读模式
sql
-- 主库创建用户
CREATE USER 'replica'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%';
-- 从库配置同步
CHANGE MASTER TO
MASTER_HOST='192.168.0.1',
MASTER_USER='replica',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=100;
START SLAVE;
防火墙配置:
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
开机自启:
bash
systemctl enable redis
systemctl enable rabbitmq-server
systemctl enable mysqld
安全加固:
requirepass
/rabbitmqctl
/ALTER USER
)bind
/haproxy ACL
)本文基于华为银河麒麟 V10 ARM64 架构,详细介绍了 Redis、RabbitMQ、MySQL 等主流中间件的集群部署方案,结合 Haproxy+Keepalived 实现高可用负载均衡。所有步骤经过官方文档校验,适用于生产环境部署。通过标准化配置和最佳实践,确保系统稳定性与性能优化,为企业级应用提供可靠的底层支撑。