Redis6主从复制搭建详解

导读:本篇文章讲解 Redis6主从复制搭建详解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1. 概述

主机数据更新后根据配置和策略,自动同步到备机的maxter/slaver机制,Master以写为主,Slave以读为主。常用语读写分离,性能扩展和容灾快速恢复。

2. 搭建

2.1. 新建配置文件

在/myredis目录下分别新建三个配置文件,redis6379.conf、redis6380.conf、redis6381.conf,在配置文件中填写以下内容

include /myredis/redis.conf
pidfile /var/run/redis_6379.pid
port 6379
dbfilename dump6379.rdb

使用命令redis-server启动三个redis服务
启动三个redis服务
查看系统进程,三个服务是否启动
查看进程
使用命令info replication查看三台主机运行情况
运行情况6379
运行情况6380
运行情况6381

2.2. 配置主从

使用命令slaveof <ip> <port>,遵从配从不陪主的原则
在服务6380和6381上执行:slaveof 127.0.0.1 6379
配从6380
配从6381
此时在主机上写,在从机上可以读取数据,在从机上写数据会报错。主机重启后一切如初,从机重启后需要重新设置:slaveof 127.0.0.1 6379,可以将这行配置增加到配置文件redis6380.conf和redis6381.conf中,永久生效。

2.3. 配置哨兵

能够后台监控主机是否故障,如果故障了根据投票数自动从库转换为主库
在/myredis目录下新建sentinel.conf配置文件,填写如下内容:

sentinel monitor mymaster 127.0.0.1 6379 1

使用命令启动哨兵模式

redis-sentinel /myredis/sentinel.conf

启动哨兵模式
当主机挂掉后,从机选举中产生新的主机
根据优先级别:slave-priority,原主机重启后会变成从机

3. 复制延迟

由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave数量的增加也会使延迟更加严重

4. 故障恢复

新主登基
从下线的主服务的所有从服务里挑选一个从服务,将其转为主服务,选择条件如下:

  1. 优先级靠前的
  2. 偏移量最大的
  3. runid最小的

优先级在redis.conf中默认:slave-priority 100,值越小优先级越高
偏移量指获得原主机数据最全的
每个redis实例启动后都会随机生成一个40位的runid
群仆俯首
挑选出新的主服务之后,sentinel向原主服务的从服务发送slaveof新主服务命令,复制新master
旧主俯首
当已下线的服务重新上线时,sentinel会向其发送slaveof命令,让其成为新主的从

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/76804.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!