OpenEuler学习笔记(十七):OpenEuler搭建Redis高可用生产环境

在OpenEuler上搭建Redis高可用生产环境,通常可以采用Redis Sentinel或Redis Cluster两种方式,以下分别介绍两种方式的搭建步骤:

基于Redis Sentinel的高可用环境搭建

  1. 安装Redis
    • 配置软件源:可以使用OpenEuler的默认软件源,确保源配置正确并可访问。
    • 安装Redis:使用包管理工具进行安装,在OpenEuler上一般可以使用以下命令安装:
bash 复制代码
sudo dnf install redis
  1. 配置主从节点

    • 编辑主节点配置文件 :主节点的配置文件通常为/etc/redis.conf,打开该文件,进行如下配置:

    bind 0.0.0.0
    port 6379
    daemonize yes
    logfile "/var/log/redis/redis.log"
    dir /var/lib/redis

    • 启动主节点:执行以下命令启动主节点:
bash 复制代码
sudo systemctl start redis
复制代码
- **配置从节点**:复制主节点的配置文件到从节点,并修改配置文件中的`slaveof`参数,指定主节点的IP和端口,例如:

slaveof <主节点IP> 6379

- **启动从节点**:在从节点上执行启动命令:
bash 复制代码
sudo systemctl start redis
  1. 配置Sentinel

    • 编辑Sentinel配置文件 :创建Sentinel配置文件,例如sentinel.conf,内容如下:

    port 26379
    daemonize yes
    logfile "/var/log/redis/sentinel.log"
    sentinel monitor mymaster <主节点IP> 6379 2
    sentinel down-after-milliseconds mymaster 5000
    sentinel failover-timeout mymaster 10000

    • 启动Sentinel:执行以下命令启动Sentinel:
bash 复制代码
redis-sentinel sentinel.conf
  1. 验证高可用
    • 检查Sentinel状态 :可以使用redis-cli工具连接到Sentinel,执行SENTINEL masters命令查看主节点和从节点的状态。
    • 模拟主节点故障:在主节点上停止Redis服务,观察Sentinel是否能自动将从节点提升为主节点,并在原主节点恢复后将其设置为从节点。

基于Redis Cluster的高可用环境搭建

  1. 安装Redis:同Redis Sentinel方式中的安装步骤。

  2. 创建集群节点配置文件

    • 在每个节点上创建一个独立的配置文件,例如redis-node1.confredis-node2.conf等,以下是一个配置文件的示例:

    bind 0.0.0.0
    port 6379
    daemonize yes
    logfile "/var/log/redis/redis-node1.log"
    dir /var/lib/redis
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 5000

  3. 启动集群节点

    • 分别在每个节点上执行以下命令启动Redis节点:
bash 复制代码
redis-server redis-node1.conf
redis-server redis-node2.conf
...
  1. 创建集群
    • 使用redis-cli工具创建集群,执行以下命令:
bash 复制代码
redis-cli --cluster create <节点1IP>:6379 <节点2IP>:6379 <节点3IP>:6379 <节点4IP>:6379 <节点5IP>:6379 <节点6IP>:6379 --cluster-replicas 1
复制代码
- 上述命令中,`--cluster-replicas 1`表示为每个主节点创建一个从节点。
  1. 验证集群
    • 使用redis-cli工具连接到集群中的任意一个节点,执行CLUSTER INFO命令查看集群的信息,包括节点数量、主从关系等。
    • 可以通过向集群中写入和读取数据,然后模拟节点故障,观察数据是否能够在其他节点上正常读写,以及集群是否能够自动进行故障转移和数据重新分布。
相关推荐
秋邱2 分钟前
价值升维!公益赋能 + 绿色技术 + 终身学习,构建可持续教育 AI 生态
网络·数据库·人工智能·redis·python·学习·docker
LCG元4 分钟前
考古利器:find 命令的高级用法,按时间、大小、内容精准查找
linux
Three~stone7 分钟前
Matlab2025b的安装教程(附安装包和密钥破解文件)
学习·mysql·持续部署
爱学习的大牛12322 分钟前
如何系统学习网络渗透测试:从入门到精通的完整指南
网络·学习
落子摘星1 小时前
suricata学习杂记(一)
学习·modbus·suricata·pdu
U***74691 小时前
Linux(CentOS)安装 MySQL
linux·mysql·centos
3***g2051 小时前
Linux系统离线部署MySQL详细教程(带每步骤图文教程)
linux·mysql·adb
charlie1145141911 小时前
深入理解C/C++的编译链接技术6——A2:动态库设计基础之ABI设计接口
c语言·开发语言·c++·学习·动态库·函数
white-persist1 小时前
【攻防世界】reverse | Reversing-x64Elf-100 详细题解 WP
c语言·开发语言·网络·python·学习·安全·php
love530love1 小时前
【保姆级教程】Windows + Podman 从零部署 Duix-Avatar 数字人项目
人工智能·windows·笔记·python·数字人·podman·duix-avatar