1 redis主从复制(replication):
redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,
当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,不能执行写操作,并接受主数据库同步过来的数据,
即使通过修改从节点redis.conf的slave-read-only no,将从节点修改成可写,那么从节点写入的数据也不会被也不能被同步到主节点或者其他从节点上。
数据同步只能是从主到从的单方向操作。
一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。
配置主从做法1 :修改配置文件redis.conf,只修改从数据库
修改从数据库的配置文件,修改为:
slaveof host(主数据库地址) 端口
eg: slaveof 192.168.1.110 6379
修改后,重启从节点上的redis,重启后会发现从节点会自动从主节点上备份数据
设置主从以及主节点负责写,同步到其余数据,从节点只负责读的目的是实现数据的读写分离,提高速度。
配置主从做法2 :命令行写动态设置主从节点(生产环境下不建议 数据库重启后 这些设置的命令行将失效)
从节点上执行命令:
192.168.1.111:6379>slaveof 192.168.1.110 6379
取消111的从节点设置,取消后111变成自己机器的主节点
192.168.1.111:6379>slaveof no one
通过redis的复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力。主数据库主要进行写操作,而从数据库负责读操作。
主从复制原理:
原理:
1:当一个从数据库启动时,会向主数据库发送sync命令,
2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来
3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。
4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。
注意:redis2.8之前的版本:当主从数据库同步的时候因为网络原因断开重连后会重新执行上述操作,不支持断点续传。
redis2.8之后支持断点续传。
如果redis只是作为一个缓存来使用,那么只需要一个节点就可以。
如果主数据库设置了密码, 那么在从数据库的 redis.conf文件中,设置masterauth的密码,来实现免密码连接主数据库的目的。
否则同步数据失败。
2 监控工具sentinel
redis的sentinel系统用于管理多个redis服务器,该系统主要执行三个任务
1:监控
2:提醒
3:自动故障转移
配置sentinel
修改redis/sentinel.conf文件:
sentinel monitor 自定义监控名称 监控节点IP 监控节点端口 num num表示至少有多少个sentinel认为master失效后才执行故障转移操作
由num引出如下概念:
主观下线: 只有一个sentinel实例认为主节点下线,即只启动一个sentinel 监听主节点 这个启动的sentinel可以放在主节点上 可以放在从节点上
客观下线: 多个sentinel实例认为主节点下线,即只启动多个sentinel 监听主节点
sentinel 也是一个进程,一个节点可以有一个或者多个sentinel,只有启动的这个sentinel进程端口不同即可
上图如下:
。。。。。。
配置sentinel:
sentinel monitor mymaster 127.0.0.1 6379 1
启动sentinel的两种方式
1) redis-sentinel sentinel.conf
2) redis-server sentinel.conf --sentinel
实验: 一个sentinel 一个master 一个slaver
111上设置为从:
110节点上:
cp sentinel.conf /etc/
vi sentinel.conf
sentinel monitor mymaster 192.168.1.170 6379 1 --->监听主节点,如果主节点挂掉则让从节点为主 当主节点被人为开启后,依旧让 主为主 从节点从主变更为从
启动redis
启动sentinel
111节点上:
启动redis
命令行中动态设置从节点: ----> 这样在测试sentinel切换机器以及手动回复主节点后 在回归主节点为master实验上能做好
slaveof 192.168.1.110 6379
110上,shutdown 关闭
后看110上sentinel的日志变化, +switch-master 110 111节点上
然后在启动110上,再看110的sentinel的日志变化,此时110启动后变成主节点 111位从节点
实验: 两个sentinel 一个master 一个slaver
110 111上:
110节点上:
cp sentinel.conf /etc/
vi sentinel.conf
sentinel monitor mymaster 192.168.1.110 6379 2
监控(Monitoring): Redis Sentinel实时监控主服务器和从服务器运行状态。
提醒(Notification):当被监控的某个 Redis 服务器出现问题时, Redis Sentinel 可以向系统管理员发送通知, 也可以通过 API 向其他程序发送通知。
自动故障转移(Automatic failover): 当一个主服务器不能正常工作时,Redis Sentinel 可以将一个从服务器升级为主服务器, 并对其他从服务器进行配置,让它们使用新的主服务器。当应用程序连接到 Redis 服务器时, Redis Sentinel会告之新的主服务器地址和端口。
sentinel一些命令:
INFO
sentinel的基本状态信息
SENTINEL masters
列出所有被监视的主服务器,以及这些主服务器的当前状态
SENTINEL slaves <master name>
列出给定主服务器的所有从服务器,以及这些从服务器的当前状态
SENTINEL get-master-addr-by-name <master name>
返回给定名字的主服务器的 IP 地址和端口号
SENTINEL reset <pattern>
重置所有名字和给定模式 pattern 相匹配的主服务器。重置操作清除主服务器目前的所有状态, 包括正在执行中的故障转移, 并移除目前已经发现和关联的, 主服务器的所有从服务器和 Sentinel 。
SENTINEL failover <master name>
当主服务器失效时, 在不询问其他 Sentinel 意见的情况下, 强制开始一次自动故障迁移,但是它会给其他sentinel发送一个最新的配置,其他sentinel会根据这个配置进行更新
相关推荐
### Redis主从复制和集群配置详解 #### 一、Redis主从复制原理及配置 **1.1 概述** Redis的主从复制机制是一种重要的数据同步方式,它支持一个或多个从数据库(slave)与主数据库(master)之间进行数据同步。其中,...
- **哨兵(sentinel)** 是 Redis 提供的一种监控机制。 - 它可以监控主从节点的状态,并在主节点失败时自动进行故障转移。 - 单个哨兵或多个哨兵都可以实现这一目标。 - 在多个哨兵的情况下,需要实现哨兵之间...
### Redis 主从配置与 Sentinel 哨兵模式详解 #### 一、Redis 主从配置 在分布式系统中,为了提高数据处理能力和系统的可用性,通常会采用 Redis 的主从复制模型。通过设置一个主节点(Master)和一个或多个从节点...
- 设置`sentinel monitor mymaster 127.0.0.1 6379 2`,监控名为`mymaster`的主节点,并指定至少需要2个哨兵确认该主节点不可用时才进行切换。 - 配置`sentinel down-after-milliseconds mymaster 5000`,定义哨兵...
哨兵模式是Redis的一种高可用性解决方案,用于监控Redis主从集群中各个节点的运行状态,实现故障转移。 1. 配置哨兵: - 在每个Redis实例的conf目录下配置sentinel.conf文件。 - 启动哨兵进程,哨兵会自动发现...
Sentinel 是 Redis 的高可用性解决方案,可以自动监控 Redis 主从结构的状态,并在主节点故障时自动将从节点提升为主节点。Sentinel 节点之间可以形成集群,以便在一个 Sentinel 节点故障时继续提供服务。 知识点4...
1. **Redis主从复制**:这是基础的高可用方案,通过将数据实时同步到一个或多个从节点,即使主节点故障,从节点也能无缝接管服务。在Docker Compose文件中,我们需要定义三个服务,一个为主节点,两个为从节点,并...
Windows Redis主从集群及哨兵集群的搭建是提高Redis服务的可用性和数据安全性的重要手段。下面将详细介绍这两个概念以及如何在Windows环境中实现。 1. Redis主从集群: 主从复制是Redis提供的一种数据备份和故障...
Redis主从复制模式是一种数据冗余容灾机制,通过在多台服务器上部署Redis实例,实现数据的实时同步和备份。当主服务器宕机时,备服务器可以自动切换为主服务器,提供高可用性的Redis服务。 在Redis主从复制模式中,...
Redis主从复制是一种数据备份的方式,它可以让一个Redis服务器(主节点)的数据被其他服务器(从节点)复制。主从结构可以是一对多,也就是一个主节点可以有多个从节点。Redis主从复制可以实现数据的读写分离,通过...
Redis 是一个高性能的键值数据库,...下载提供的"redis主从模式修改的配置文件.zip",解压后根据实际情况调整配置,再分别启动主从节点,即可实现数据的实时同步。记得在实践中不断学习和优化,以满足实际业务需求。
redis-sentinel 就像他的名字一样,他是一个哨兵,监控 master 状态,如果超过规定时间没有响应,则自动进行主从切换,期间会有一段时间(决定于具体的配置参数)redis集群无法提供服务 。原理类似 mysql 的 MHA。...
主从复制用于数据的热备份,而哨兵模式则可以监控Redis主从服务器的状态,并在主服务器出现故障时自动执行故障转移,将其中一个从服务器提升为主服务器,以保证服务的连续性。 在主从复制中,主服务器会将数据变动...
"redis主从配置"是一个关于如何在Redis中设置主从复制的教程压缩包,下面将详细介绍这个过程。 首先,我们要明白主从复制的基本概念。在Redis中,一个服务器作为主节点(Master),负责处理写请求并更新数据;多个...
此脚本文件用于zabbix监控redis哨兵时收集redis sentinel监控信息。
在本例中,我们将探讨如何设置Redis主从复制,配置密码保护,通过配置文件启动Redis,并引入Sentinel哨兵系统来实现故障切换。 首先,我们需要准备至少三个Redis实例,一个作为主节点(master),两个作为从节点...
一、Redis主从复制 1. **安装Redis**:首先,你需要在Linux服务器上安装Redis。可以通过包管理器如`apt-get`或`yum`进行安装,或者下载源码编译安装。 2. **启动Redis服务**:安装完成后,启动Redis服务,通常命令...
本资料“redis主从配置及主从切换.rar”包含了关于如何设置Redis主从模式以及在故障时进行主从切换的详细教程,主要知识点如下: 1. **主从复制的基本概念**:主从复制是Redis中的一种数据备份策略,主节点负责处理...