一、集群部署
1、案例拓扑

2、资源列表
主从节点是随机分配的,下属列表只是框架:
操作系统 | 主机名 | 配置 | IP | 应用 |
---|
OpenEuler24 | master1 | 2C4G | 192.168.10.101 | Redis |
OpenEuler24 | master2 | 2C4G | 192.168.10.102 | Redis |
OpenEuler24 | master3 | 2C4G | 192.168.10.103 | Redis |
OpenEuler24 | slave1 | 2C4G | 192.168.10.104 | Redis |
OpenEuler24 | slave2 | 2C4G | 192.168.10.105 | Redis |
OpenEuler24 | slave3 | 2C4G | 192.168.10.106 | Redis |
OpenEuler24 | HK1 | 2C4G | 192.168.10.107 | Haproxy+Keepalived |
OpenEuler24 | HK2 | 2C4G | 192.168.10.108 | Haproxy+Keepalived |
3、基础配置
3.1、安装
systemctl stop firewalld
setenforce 0
dnf -y install gcc zlib-devel
tar -zxf redis-5.0.14.tar.gz
make && make PREFIX=/usr/local/redis install && ln -s /usr/local/redis/bin/* /usr/local/bin/
cd utils
./install_server.sh





3.2、加入守护进程
vim /etc/systemd/system/redis.service##编辑内容##
# [Unit] 部分,用于定义服务的元数据和依赖关系
[Unit]
# 描述该服务,这里说明是 redis 服务
Description=redis
# 表示该服务在 network.target 这个目标单元之后启动,即网络相关服务就绪后再启动 redis ,保障网络依赖
After=network.target # [Service] 部分,定义服务的具体运行方式等配置
[Service]
# Type=forking 表示服务会以 fork 方式运行,即启动后会创建子进程,父进程退出,子进程继续提供服务
Type=forking
# ExecStart 定义启动服务时执行的命令,这里是调用 redis 服务器程序,并指定配置文件 /etc/redis/6379.conf ,让 redis 按该配置启动
ExecStart=/usr/local/redis/bin/redis-server /etc/redis/6379.conf # [Install] 部分,定义服务安装相关的配置,即服务启用时如何关联到系统启动目标
[Install]
# WantedBy=multi-user.target 表示该服务希望被关联到 multi-user.target 这个系统启动目标,
# 在多用户模式(常见的系统正常运行模式,提供命令行等多用户使用环境 )下,启用该服务时会被纳入启动流程
WantedBy=multi-user.target

3.3、修改配置文件




配置项 | 配置值 | 说明 |
---|
开启 Cluster | cluster-enabled yes | --- |
集群配置文件 | cluster-config-file nodes-6379.conf | Redis 运行时保存配置的文件,不可修改 |
集群超时时间 | cluster-node-timeout 15000 | 结点超时多久则认为它宕机 |
槽是否全覆盖 | cluster-require-full-coverage no | 默认 yes,结点宕机致 16384 个槽未全覆盖时集群全停止服务,需改为 no |
3.4、重载守护进程
/etc/init.d/redis_6379 stopsystemctl daemon-reloadsystemctl restart redisnetstat -anpt | grep redis

4、集群配置
4.1、创建集群
redis-cli --cluster create --cluster-replicas 1 192.168.10.101:6379 192.168.10.102:6379 192.168.10.103:6379 192.168.10.104:6379 192.168.10.105:6379 192.168.10.106:6379

4.2、查看状态
cluster nodes

二、安装Keepalived+Haproxy
systemctl stop firewalld
setenforce 0
dnf -y install keepalived

1、编写一个监控脚本并启动 keepalived
vim /etc/keepalived/chk.sh###编辑内容###
#!/bin/bashif [ $(ps -C haproxy --no-header | wc-l) -eq 0 ];then /etc/init.d/keepalived stopecho "你的keepalived已经关闭了"
fichmod +x /etc/keepalived/chk.sh


2、编辑配置文件

3、安装Haproxy,并修改配置文件

4、开启服务

5、客户端验证
