DBAtlas · 数据库运维图谱

安装 Redis Cluster(3 master + 3 replica)

Redis难度: 中级耗时: 45–60 分钟

从零搭建 Redis Cluster(Redis 7.2 / 8.2 或 Valkey):16384 个 hash slot 分配给三个(或更多)master,每个 master 在另一台服务器上有一个 replica。按步骤完成每台服务器一个 instance(6 台服务器)或两个 instance(3 台服务器)的布局、每个 instance 一个 systemd 服务、密码、创建集群、检查和 failover 测试;最终得到一个将数据分布到各 master、在丢失一台服务器时自动 failover、并可通过添加 node 扩容的集群。如果数据能放进一台服务器,而应用使用多键命令、Lua 或 SELECT,Sentinel 部署更简单;添加 node、reshard 和更换故障 node 见 Redis 运维指南,备份和安全加固见单独的指南。

架构: 6 个 instance:6 台服务器 × 1 或 3 台服务器 × 2

开始之前

  • 所有服务器操作系统版本相同且已更新;时钟通过 NTP(chrony)同步。
  • 内存与表单中的值一致;swap 较小但已配置(防止 fork 时 OOM)。磁盘上至少有内存 2 倍的可用空间(用于 RDB/AOF 重写)。
  • 服务器之间可通过 IP 互相访问(Redis 配置中使用 IP)。
  • 服务器之间已开放 …、……、…、…… 端口;这些端口未被其他服务占用。
  • ……服务器可以访问操作系统的 AppStream 仓库(或 EPEL)…服务器可以访问 rpms.remirepo.net 和 EPEL(dl.fedoraproject.org)仓库………服务器可以访问 Ubuntu universe 仓库…服务器可以访问 packages.redis.io 仓库……,或已配置内部镜像。
  • 服务器上没有其他 Redis/Valkey 安装(避免版本冲突)。
  • 已以 root 或具有 sudo 权限的用户登录;维护窗口已批准。

指南阶段

  • 操作系统准备(所有服务器) — Hostname:… · Hostname:… · 系统更新和工具 · 内核参数(sysctl) · 应用 sysctl 设置
  • 安装(所有服务器) — 添加 Remi 和 EPEL 仓库 · 添加 packages.redis.io 仓库 · 安装 … 软件 · 禁用发行版的默认服务 · SELinux 端口定义
  • Instance 配置 — systemd 服务模板(…@.service) · cluster-….conf:… · cluster-….conf:… · cluster-….conf:… · 数据目录和密码 · 启动 instance …
  • 创建集群 — 检查到所有 instance 的连通性 · 创建集群(--cluster create) · 检查集群(--cluster check) · 验证 replica 的分布
  • 验证和 failover 测试 — 读写测试 · 计划内 failover(CLUSTER FAILOVER) · 应用连接
  • 安装后 — 扩容:添加 node 和 reshard(参考) · 备份 · 监控
按您的环境打开分步计划 →