一文读懂Redis之集群模式搭建

目录

一、环境规划

二、Redis服务集群搭建过程

步骤一、Node01节点创建目录

步骤二、Node01节点下载Redis安装包

步骤三、Node01节点安装7001端口Redis服务

步骤四、Node01节点安装7002端口Redis服务

步骤五、Node01节点修改7001端口Redis服务配置文件

步骤六、Node01节点修改7002端口Redis服务配置文件

步骤七、Node01节点启动7001端口Redis服务

步骤八、Node01节点启动7002端口Redis服务

步骤九、Node02节点、Node03节点根据步骤一至步骤八分别安装和启动7001、7002端口Redis服务

步骤十、Node01节点启动Redis集群

步骤十一、查询Redis集群状态

三、模拟master节点192.168.110.131:7001宕机

四、Redis服务集群模式管理命令

(一)、登录集群

(二)、查看集群信息

(三)、列出节点信息

(四)、增加节点

(五)、更换192.168.110.133的7003端口Redis服务节点身份

(六)、删除集群节点

(七)、保存集群配置


        Redis服务主从模式下,当主节点宕机时,需要人工干预手动切换主节点,无法进行故障自动切换。为了解决这个问题,Redis服务在主从模式的基础上延伸出哨兵(Sentinel)模式。

        Redis服务哨兵(Sentinel)模式下,虽然可以进行故障自动切换,但是仍然只有一个主节点。当服务并发写请求比较大时,哨兵(Sentinel)模式下并不能缓解写压力,故而Redis服务延伸出集群模式。集群模式具有高可用、可扩展性、分布式、容错等特性。最大的特点在于可扩展性,拥有多个主节点,可同时对多个主节点进行写入操作,从而缓解了写压力。当系统容量足够大时,读请求也可以通过增加从节点来分摊读压力。

        本次Redis服务集群模式搭建采取三主三从的架构。为了节约服务器资源,每台服务器节点部署两个Redis服务实例,通过不同的端口号进行区分。

一、环境规划

  • 集群节点规划

节点名称

IP地址

Redis实例01端口

Redis实例02端口

Node01

192.168.110.131

7001

7002

Node02

192.168.110.132

7001

7002

Node03

192.168.110.133

7001

7002

  • 系统版本

CentOS Linux release 7.7.1908 (Core)

  • 关闭防火墙

此处为方便演示,Node01节点、Node02节点、Node03节点直接关闭防火墙。

生产环境可以根据实际需求开通服务器防火墙策略。

systemctl stop firewalld

systemctl stop iptables

  • Redis版本

此处使用redis-5.0.10版本

  • 环境依赖

需要安装gcc-c++

[root@Node01 ~]# yum install -y gcc-c++

[root@Node02 ~]# yum install -y gcc-c++

[root@Node03 ~]# yum install -y gcc-c++

二、Redis服务集群搭建过程

步骤一、Node01节点创建目录

  • 创建安装主目录

[root@Node01 ~]# mkdir -p /data/redis/cluster

  • 创建7001端口Redis实例相关目录

创建7001端口Redis实例主目录

[root@Node01 ~]# mkdir -p /data/redis/cluster/redis_7001

创建7001端口Redis实例数据目录

[root@Node01 ~]# mkdir -p /data/redis/cluster/redis_7001/data

  • 创建7002端口Redis实例相关目录

创建7002端口Redis实例主目录

[root@Node01 ~]# mkdir -p /data/redis/cluster/redis_7002

创建7002端口Redis实例数据目录

[root@Node01 ~]# mkdir -p /data/redis/cluster/redis_7002/data

  • 查看目录是否成功创建

[root@Node01 ~]# ll /data/redis/cluster

[root@Node01 ~]# ll /data/redis/cluster/redis_7001

[root@Node01 ~]# ll /data/redis/cluster/redis_7002

步骤二、Node01节点下载Redis安装包

  • 安装wget命令

[root@Node01 ~]# yum install -y wget

  • 进入主目录

[root@Node01 ~]# cd /data/redis/cluster

  • 下载安装包

此处使用redis-5.0.10版本。

[root@Node01 cluster]# wget http://download.redis.io/releases/redis-5.0.10.tar.gz

  • 复制安装包到7001端口Redis实例主目录

[root@Node01 cluster]# cp /data/redis/cluster/redis-5.0.10.tar.gz /data/redis/cluster/redis_7001

[root@Node01 cluster]# ll /data/redis/cluster/redis_7001

  • 复制安装包到7002端口Redis实例主目录

[root@Node01 cluster]# cp /data/redis/cluster/redis-5.0.10.tar.gz /data/redis/cluster/redis_7002

[root@Node01 cluster]# ll /data/redis/cluster/redis_7002

步骤三、Node01节点安装7001端口Redis服务

  • 解压安装包

[root@Node01 cluster]# cd /data/redis/cluster/redis_7001/

[root@Node01 redis_7001]# tar -zxvf redis-5.0.10.tar.gz

  • make编译

[root@Node01 redis_7001]# cd /data/redis/cluster/redis_7001/redis-5.0.10

[root@Node01 redis-5.0.10]# make

步骤四、Node01节点安装7002端口Redis服务

### 如何搭建 Redis 集群模式 #### 准备工作 为了成功搭建 Redis 集群,需准备至少三个不同端口上的 Redis 实例。这些实例用于形成集群的基础架构,从而提升系统的性能和可用性[^1]。 #### 安装依赖项 对于 Mac 用户来说,在创建 Redis 集群之前,需要确保已安装 Ruby 和 Redis 的 Ruby 模块。这可以通过 Homebrew 更新并安装 Ruby 后,利用 `gem` 工具来实现: ```bash brew update brew install ruby sudo gem install redis ``` 上述命令会更新本地包管理器,并安装必要的软件环境以便后续操作能够顺利进行[^2]。 #### 创建与初始化 Redis 实例 假设当前已有六个正在运行中的 Redis 实例,则可以直接跳过此部分;如果尚未建立任何实例,则应按照官方指南或其他资源指导完成相应设置。每新增加一台服务器作为节点时,记得调整其配置文件以适应新的网络布局需求[^3]。 #### 使用 `redis-cli` 构建集群 一旦所有必需的服务都处于活动状态之后,便可以借助于名为 `redis-trib.rb` (现已被集成到新版 Redis 中称为 `redis-cli --cluster`) 的工具来进行实际构建过程: 1. **验证各节点连接情况** 执行如下指令确认各个成员间能否正常通信: ```bash redis-cli -h <node_ip> -p <port> ``` 2. **正式组建集群** 当一切就绪后,输入下面这条语句即可启动整个流程: ```bash ./src/redis-cli --cluster create \ <ip_1>:<port_1> <ip_2>:<port_2> ... <ip_n>:<port_n> \ --replicas 1 ``` 这里 `<ip_x>` 表示第 x 台机器的 IP 地址而 `<port_y>` 则对应着该主机上监听的具体端口号。参数 `--replicas` 后面跟的是希望为每个主节点分配几个从属副本的数量。 --- 通过以上步骤,已经完成了基本的 Redis Cluster 设置。这种结构不仅支持多 Master 设计提高了读写效率,而且具备良好的扩展性和容错能力[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野熊佩骑

您的鼓励是我持续创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值