一文读懂Redis之主从模式搭建

目录

一、Redis服务主从模式介绍

二、Redis服务主从模式搭建

(一)、Master节点创建目录

(二)、Master节点下载Redis安装包

(三)、Master节点解压Redis安装包

(四)、Master节点进行make编译

(五)、Slave节点根据步骤一至步骤四安装Redis服务

(六)、Master节点修改Redis服务配置文件

(七)、Slave节点修改Redis服务配置文件

(八)、Master节点启动Redis服务

(九)、Slave节点启动Redis服务

(十)、查看Redis服务主从状态信息

(十一)、验证Redis服务主从数据同步


一、Redis服务主从模式介绍

        Redis服务单机模式下,没有数据冗余。当节点宕机时,存在数据丢失的风险,故Redis服务延伸出主从模式,从库节点同步主库节点数据,提高Redis服务的可靠性。

        Redis服务主从模式下,从库节点可以作为数据读节点,分担主库节点的读写压力。除此之外,主从模式还是哨兵模式和集群模式的基础。

二、Redis服务主从模式搭建

● 服务器IP

主库(Master节点):192.168.110.131

从库(Slave节点):192.168.110.132

● 系统版本

CentOS Linux release 7.7.1908 (Core)

● 关闭防火墙

此处为方便演示,主库(Master节点)、从库(Slave节点)直接关闭防火墙。

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

systemctl stop firewalld

systemctl stop iptables

● Redis版本

此处使用redis-5.0.10版本

● 环境依赖

需要安装gcc-c++

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

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

(一)、Master节点创建目录

● 创建安装主目录

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

● 创建数据目录

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

(二)、Master节点下载Redis安装包

● 安装wget命令

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

● 进入主目录

[root@Master ~]# cd /data/redis/

● 下载安装包

此处使用redis-5.0.10版本

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

(三)、Master节点解压Redis安装包

● 解压

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

● 重命名

[root@Master redis]# mv redis-5.0.10 redis_6379

(四)、Master节点进行make编译

[root@Master redis]# cd /data/redis/redis_6379/

[root@Master redis_6379]# make

### 单台服务器上的Redis主从模式与哨兵配置 #### 主从复制配置 为了实现单台服务器上的Redis主从架构,在`redis.conf`文件中需针对主节点和从节点分别做相应配置。对于从节点而言,其配置应包含如下设置: - `slave-read-only yes`表示当该实例作为从属角色时只允许读操作[^1]。 具体来说,假设运行两个不同端口的Redis服务来模拟多机部署场景下的主从关系,则可以在各自的配置文件里指定监听地址及端口号,并通过命令行参数或修改配置项告知哪个是Master而哪些又是Slaves。 例如,创建名为`master.conf`用于定义Master节点的行为;同样地,为每一个Slave准备独立的`.conf`文档(比如命名为`slave_6380.conf`, `slave_6381.conf`),其中指明它们所追随的那个Master的位置信息。 ```bash # In slave_xxxx.conf files... slaveof 127.0.0.1 6379 ``` 这使得即使在同一物理机器上也能构建起逻辑分离的服务单元,从而达到实验目的。 #### 哨兵(Sentinel)监控机制 一旦完成了上述基本设定之后就可以着手安装并初始化Sentinel组件了。它负责监视整个系统的健康状况——特别是自动发现新的Slave加入进来、判断现有成员的状态变化情况等等重要职责[^2]。 编辑一个新的配置文件叫做`sentry.conf`: ```text port 26379 daemonize yes pidfile "/var/run/redis-sentinel.pid" logfile "" dir "./" sentinel monitor mymaster 127.0.0.1 6379 2 sentinel down-after-milliseconds mymaster 5000 sentinel failover-timeout mymaster 60000 sentinel parallel-syncs mymaster 1 ``` 这里的关键部分在于告诉Sentinel去跟踪哪一个集群(`mymaster`)及其对应的IP地址加端口组合(即之前提到过的那个充当Leader身份的具体实例),还有就是关于判定失败的时间阈值等细节调整。 启动哨兵程序可以通过下面的方式完成: ```bash redis-server /path/to/sentry.conf --sentinel ``` 这样就实现了在一个单独的操作系统环境中建立起完整的Redis HA解决方案框架[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

野熊佩骑

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

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

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

打赏作者

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

抵扣说明:

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

余额充值