目录

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.

文章来源:刘俊涛的博客


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

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
失业写写八股文3 小时前
Spring基础:Spring的事物哪些情况下会失效
java·后端·spring
失业写写八股文4 小时前
Redis中keys命令的缺点
redis·后端
问道飞鱼6 小时前
【Springboot知识】开发属于自己的中间件健康监测HealthIndicate
spring boot·后端·中间件·healthindicate
luckyext7 小时前
Postman用JSON格式数据发送POST请求及注意事项
java·前端·后端·测试工具·c#·json·postman
程序视点7 小时前
Redis集群机制及一个Redis架构演进实例
java·redis·后端
鱼樱前端7 小时前
Navicat17基础使用
java·后端
黑风风7 小时前
深入理解Spring Boot Starter及如何自定义Starter
java·spring boot·后端
uhakadotcom8 小时前
BM25 算法入门与实践
后端
鱼樱前端8 小时前
Mac M1安装MySQL步骤
java·后端
uhakadotcom8 小时前
Istio 服务网格:连接、保护和优化微服务的利器
后端·面试·github