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 的设计要求至少有三个主节点(以确保数据分布和容错能力),并且推荐为主节点配置从节点以实现高可用性。因此,在每台服务器上通常会部署一个主节点和至少一个从节点,这就需要为每个实例使用不同的端口来避免冲突。
例如,在 server2
和 server3
上,可能的端口分配如下:
-
在
server2
上:- Redis 实例 1 监听端口
7000
,作为集群的一个主节点 - Redis 实例 2 监听端口
7001
,作为第一个主节点的从节点或者另一个主节点
- Redis 实例 1 监听端口
-
在
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.
文章来源:刘俊涛的博客
若有帮助到您,欢迎点赞、转发、支持,您的支持是对我坚持最好的肯定(^_^)