Redis支持主从复用。数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制。Mater Slave的模式,从Slave向Master发起SYNC命令。 可以是1 Master 多Slave,可以分层,Slave下可以再接Slave,可扩展成树状结构。 因为没有两台电脑,所以只能在一台机器上搭建两个Redis服务端。 这里使用单机来模拟redis 主从服务器 ,实现读写分离配置。

  • Redis支持主从复用。数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制。Mater Slave的模式,从Slave向Master发起SYNC命令。
  • 可以是1 Master 多Slave,可以分层,Slave下可以再接Slave,可扩展成树状结构。
  • 因为没有两台电脑,所以只能在一台机器上搭建两个Redis服务端。
  • 这里使用单机来模拟redis 主从服务器 ,实现读写分离配置。

目录

  • 创建三个目录(数据文件、日志文件、配置文件)
  • 复制redis.conf至/opt/redis/conf目录下
  • 修改redis-common.conf公共配置文件
  • 注释掉bind 127.0.0.1
  • 关闭保护模式,修改为no
  • 注释公共配置端口
  • 修改为后台启动
  • 注释进程编号记录文件
  • 注释公共配置数据文件、修改数据文件路径
  • 添加从服务器访问主服务器认证
  • 添加访问认证
  • 注释公共配置追加文件
  • 添加3个服务的私有配置文件
  • redis-6379.conf
  • redis-6380.conf
  • redis-6381.conf
  • 运行3个redis进程
  • 查看redis服务器主从状态
  • 哨兵配置
  • 修改sentinel-common.conf 哨兵公共配置文件
  • 修改配置信息
  • 注释哨兵监听进程端口号
  • 要配局域网IP,否则远程连不上
  • 设置master和slaves的密码
  • 关闭保护模式,修改为no
  • 修改为后台启动Redis cluster 的高可用与主备切换原理 redis集群主备切换_liunx
  • 添加3个哨兵的私有配置文件
  • 启动测试
  • 查看哨兵是否完成

创建三个目录(数据文件、日志文件、配置文件)

Redis cluster 的高可用与主备切换原理 redis集群主备切换_开发笔记文件_02

复制redis.conf至/opt/redis/conf目录下

Redis cluster 的高可用与主备切换原理 redis集群主备切换_配置文件_03

修改redis-common.conf公共配置文件

注释掉bind 127.0.0.1

Redis cluster 的高可用与主备切换原理 redis集群主备切换_开发笔记文件_04

关闭保护模式,修改为no

Redis cluster 的高可用与主备切换原理 redis集群主备切换_redis_05

注释公共配置端口

Redis cluster 的高可用与主备切换原理 redis集群主备切换_liunx_06

修改为后台启动

Redis cluster 的高可用与主备切换原理 redis集群主备切换_redis_07

注释进程编号记录文件

Redis cluster 的高可用与主备切换原理 redis集群主备切换_liunx_08

注释公共配置数据文件、修改数据文件路径

在默认情况下,Redis 将数据库快照保存在名字为 dump.rdb 的二进制文件中。当然,这里可以通过修改redis.conf 配置文件来对数据存储条件进行定义,规定在“ N 秒内数据集至少有 M 个改动”这一条件被满足时,自动保存一次数据集。也可以通过调用save 或bgsave ,手动让Redis进行数据集保存操作dbfilename和dir组合使用,dbfilename找dir路径生成数据文件

Redis cluster 的高可用与主备切换原理 redis集群主备切换_liunx_09

添加从服务器访问主服务器认证

Redis cluster 的高可用与主备切换原理 redis集群主备切换_liunx_10

添加访问认证

Redis cluster 的高可用与主备切换原理 redis集群主备切换_redis_11

注释公共配置追加文件

Redis cluster 的高可用与主备切换原理 redis集群主备切换_服务器_12

添加3个服务的私有配置文件

touch 或者 vi 都可以创建空白文件

touch 直接创建空白文件, vi 创建并且进入编辑模式, :wq 创建成功,否则不创建

Redis cluster 的高可用与主备切换原理 redis集群主备切换_redis_13

redis-6379.conf

#引用公共配置
include /opt/redis/conf/redis-common.conf 
#进程编号记录文件
pidfile /var/run/redis-6379.pid
#进程端口号
port 6379 
#日志记录文件
logfile "/opt/redis/log/redis-6379.log" 
#数据记录文件
dbfilename dump-6379.rdb 
#追加文件名称
appendfilename "appendonly-6379.aof" 
#下面的配置无需在6379里配置
#备份服务器从属于6379推荐配置配局域网IP 
slaveof 192.168.10.100 6379

redis-6380.conf

#引用公共配置
include /opt/redis/conf/redis-common.conf
#进程编号记录文件
pidfile /var/run/redis-6380.pid
#进程端口号
port 6380
#日志记录文件
logfile "/opt/redis/log/redis-6380.log"
#数据记录文件
dbfilename dump-6380.rdb
#追加文件名称
appendfilename "appendonly-6380.aof"
#下面的配置无需在6379里配置
#备份服务器从属于6379推荐配置配局域网IP 
slaveof 192.168.32.200 6379

redis-6381.conf

include /opt/redis/conf/redis-common.conf
#进程编号记录文件
pidfile /var/run/redis-6381.pid
#进程端口号
port 6381
#日志记录文件
logfile "/opt/redis/log/redis-6381.log"
#数据记录文件
dbfilename dump-6381.rdb
#追加文件名称
appendfilename "appendonly-6381.aof"
#下面的配置无需在6379里配置
#备份服务器从属于6379推荐配置配局域网IP
slaveof 192.168.32.200 6379

运行3个redis进程

Redis cluster 的高可用与主备切换原理 redis集群主备切换_服务器_14

查看redis服务器主从状态

redis-6379

Redis cluster 的高可用与主备切换原理 redis集群主备切换_redis_15


redis-6380

Redis cluster 的高可用与主备切换原理 redis集群主备切换_配置文件_16


redis-6381

Redis cluster 的高可用与主备切换原理 redis集群主备切换_liunx_17

哨兵配置

主从节点redis.conf配置
参照 读写分离 的相应配置

修改sentinel-common.conf 哨兵公共配置文件

从redis解压目录下复制sentinel.conf至/opt/redis/conf/

Redis cluster 的高可用与主备切换原理 redis集群主备切换_liunx_18


修改名字

Redis cluster 的高可用与主备切换原理 redis集群主备切换_服务器_19

修改配置信息

注释哨兵监听进程端口号

Redis cluster 的高可用与主备切换原理 redis集群主备切换_开发笔记文件_20

要配局域网IP,否则远程连不上

Redis cluster 的高可用与主备切换原理 redis集群主备切换_redis_21

设置master和slaves的密码

Redis cluster 的高可用与主备切换原理 redis集群主备切换_redis_22

关闭保护模式,修改为no

Redis cluster 的高可用与主备切换原理 redis集群主备切换_服务器_23

修改为后台启动

Redis cluster 的高可用与主备切换原理 redis集群主备切换_liunx_24

添加3个哨兵的私有配置文件

touch 或者 vi 都可以创建空白文件

touch 直接创建空白文件, vi 创建并且进入编辑模式, :wq 创建成功,否则不创建

Redis cluster 的高可用与主备切换原理 redis集群主备切换_liunx_25


sentinel-26379.conf

#引用公共配置
include /opt/redis/conf/sentinel-common.conf 
#进程端口号
port 26379 
#进程编号记录文件
pidfile /var/run/sentinel-26379.pid 
#日志记录文件(为了方便查看日志,先注释掉,搭好环境后再打开) 
logfile "/opt/redis/log/sentinel-26379.log"

复制 sentinel-26379.conf 的内容至 sentinel-26380.conf , sentinel-26381.conf 并且修改其内容,将26379
替换即可。

启动测试

启动3个redis服务

Redis cluster 的高可用与主备切换原理 redis集群主备切换_配置文件_26


启动3个哨兵服务

Redis cluster 的高可用与主备切换原理 redis集群主备切换_开发笔记文件_27

查看哨兵是否完成

Redis cluster 的高可用与主备切换原理 redis集群主备切换_配置文件_28


Redis cluster 的高可用与主备切换原理 redis集群主备切换_redis_29


Redis cluster 的高可用与主备切换原理 redis集群主备切换_配置文件_30