Redis Cluster 部署详细教程

Redis Cluster 部署详细教程

新服务器上设置 Redis Cluster 的操作文档:

前提条件

  • 已购买并初始化三台服务器,假设其 IP 地址分别为:server1-ip, server2-ip, server3-ip
  • 确保服务器之间网络互通,可通过 ping 命令验证

步骤 1:安装 Redis

在每台服务器上执行:

bash 复制代码
# 更新系统包列表
sudo apt-get update

# 安装 Redis(这里以 Ubuntu/Debian 为例,其他系统请参考对应官方文档)
sudo apt-get install redis-server -y

# 检查 Redis 是否已成功安装和运行
systemctl status redis-server

步骤 2:配置 Redis 节点

在每台服务器上分别创建三个不同的配置文件,例如:

bash 复制代码
# server1 上的配置文件
nano /etc/redis/redis-7000.conf
nano /etc/redis/redis-7001.conf

# server2 和 server3 上同样创建两个不同端口的配置文件
# ...

# 对每个配置文件进行如下修改:
# 示例:对于 redis-7000.conf
port 7000
cluster-enabled yes
cluster-config-file nodes-7000.conf
appendonly yes # 如果需要持久化数据

# 同理对 redis-7001.conf 进行类似修改,将端口号改为 7001

在 Redis Cluster 集群中,每个节点都需要监听不同的端口。创建两个不同端口的配置文件是为了在同一台服务器上运行两个独立的 Redis 实例,这两个实例将分别作为集群中的不同节点。

Redis Cluster 的设计要求至少有三个主节点(以确保数据分布和容错能力),并且推荐为主节点配置从节点以实现高可用性。因此,在每台服务器上通常会部署一个主节点和至少一个从节点,这就需要为每个实例使用不同的端口来避免冲突。

例如,在 server2server3 上,可能的端口分配如下:

  • server2 上:

    • Redis 实例 1 监听端口 7000,作为集群的一个主节点
    • Redis 实例 2 监听端口 7001,作为第一个主节点的从节点或者另一个主节点
  • server3 上:

    • Redis 实例 3 监听端口 7002,作为另一个主节点

    • Redis 实例 4 监听端口 7003,作为第三个主节点的从节点或前一个未配对的主节点的从节点

这样配置可以满足集群的基本要求,并提供一定程度的数据冗余和故障恢复能力。

步骤 3:启动 Redis 节点

在每台服务器上根据配置文件启动 Redis 实例

bash 复制代码
# 对于 server1
sudo systemctl start redis@7000
sudo systemctl start redis@7001

# 对于 server2 和 server3 同样启动相应的 Redis 实例
# ...

步骤 4:创建 Redis Cluster

登录到任意一台服务器,并使用 redis-cli 创建集群

bash 复制代码
# 先确保已经安装了 redis-cli,若没有则需先安装
sudo apt-get install redis-tools -y

# 使用以下命令创建集群,替换实际的 IP 地址
redis-cli --cluster create server1-ip:7000 server1-ip:7001 server2-ip:7000 server2-ip:7001 server3-ip:7000 server3-ip:7001 --cluster-replicas 1

# 若 Redis 设置了密码,则加上 `-a <password>` 参数

步骤 5:验证集群状态

在任意节点上通过 redis-cli 检查集群状态

bash 复制代码
redis-cli -c -h serverX-ip -p 7000
CLUSTER INFO
CLUSTER NODES

以上是基于 Linux 系统的基本操作步骤,实际部署时请根据实际情况调整。确保每个步骤前都进行了充分的测试与检查。

注意:在生产环境中,请根据业务需求和安全性要求进一步优化配置,包括但不限于防火墙规则、安全组设置等。

欢迎关注公-众-号【TaonyDaily】、留言、评论,一起学习。

Don't reinvent the wheel, library code is there to help.

文章来源:刘俊涛的博客


若有帮助到您,欢迎点赞、转发、支持,您的支持是对我坚持最好的肯定(^_^)

相关推荐
程序媛李李李李李蕾6 分钟前
你不能直接用现成的吗?整个前端做笔记管理工具真是折腾人
javascript·vue.js·后端
易元15 分钟前
设计模式-访问者模式
前端·后端·设计模式
liangdabiao26 分钟前
一篇文章尽快介绍入门级智能体Agent是什么回事, Starter AI Agents 项目 来自 awesome-llm-apps
前端·后端
JohnYan44 分钟前
工作笔记 - 一种业务信息汇报机制的设计和实现
数据库·后端·postgresql
EdenX1 小时前
MySQL详解:从基础到应用,附电商订单系统实战
后端
error_cn1 小时前
匿名ftp服务器搭建指南
后端
就是帅我不改1 小时前
深入实战责任链模式:在企业级审批流程中的优雅应用
后端·面试
武子康1 小时前
大数据-54 Kafka 安装配置 从 ZooKeeper 到 KRaft 的演进之路
大数据·后端·kafka
星辰大海的精灵1 小时前
深入解析 CopyOnWriteArrayList
java·后端·算法
云边散步1 小时前
《校园生活平台从 0 到 1 的搭建》第三篇:后端的微信授权登录
前端·后端