`

Redis主从复制和哨兵模式

阅读更多

Redis主从复制

1.Master可以拥有多个slave
2.多个slave可以连接同一个Master外,还可以连接到其他的slave
3.主从复制不会阻塞Master在主从复制时,Master可以处理client请求。
4.提供系统的伸缩性。

主从复制的过程

1.slave与Master建立连接,发送sync同步命令。
也就是说当用户在Master写入一条命令后,他们之间会通过一些算法把数据同步到每一个slave上。
2.Msater会开启一个后台进程,将数据库快照保存到文件中。同时Master主进程会开始收集新的写命令并缓存。
3.后台完成保存后,就将文件发送给slave
4.slave将此文件保存在硬盘上。

主从复制的配置

我们创建三台linux服务器,一台作为主服务器Master,ip为192.168.1.10另外两台作为slave,ip分别为192.168.1.11和192.168.1.12.
三台服务器分别安装redis,当然这里我们要确保三台服务器之间是能进行互相通信的,即互相可以ping通。然后Master服务器不需要做什么配置,将11和12两台服务器的redis.conf配置文件进行修改之后,redis就会自动的为我们实现主从复制。
 
修改两台slave的redis.conf这个配置文件。
如果主服务器没有设置密码,那么我们只要找到slaveof <masterip> <masterport>,这里我们的主服务器ip是192.168.1.10,redis端口是6379,那么我们只需要在redis.conf配置文件中加入slaveof 192.168.1.10 6379,然后保存即可。
如果主服务器设置了密码,我们还需要修改masterauth <master-password>(主服务器的密码)这个配置项。
 
然后同时启动三台服务器 进入到redis-cli客户端用info命令进行查看状态(此处我的Master的ip是192.168.1.231,slave的ip分别为229和230)

我们看到上面的role显示此台机器是master,有两个slave,还可以看到对应的ip和端口。
 
此时我们在slave只能进行读操作,只能通过master进行写操作。并且我们每次的写操作会发现在每一台服务器上面都是同步的。
 
简单的说Redis主从复制,假设我们有三台Redis服务器,一台主服务器Master,两台从服务器slave,slave中只能做读操作。Master可做读写操作,每次对Master进行写操作之后,首先Master会将数据存储在硬盘中,然后通过sync同步命令将每一个slave的数据进行更新,然后每一个slave都将更新的数据写在自己的硬盘中,这样就保证了数据的一致性。

Redis哨兵模式

如果我们在使用主从复制的情况下,Master服务器进行了down机的情况,我们的系统就不能再进行写的操作,所以此时redis在2.6版本引入了哨兵模式,但是并不稳定,2.8版本之后哨兵模式才稳定了起来。
顾名思义Redis的哨兵模式就是对redis系统进行实时的监控,其主要功能有下面两点
1.监测主数据库和从数据库是否正常运行。
2.当我们的主数据库出现故障的时候,可以自动将从数据库转换为主数据库,实现自动的切换。


实现步骤

这里我们还是使用上面的redis服务器的ip,Master的ip为192.168.1.229,slave1为:192.168.1.230,slave2为:192.168.1.231
在其中一台服务器配置sentinel.conf(比如192.168.1.230)
1.进入解压的redis文件夹中使用cp命令将sentinel.conf文件copy到你的redis中的etc文件夹。
2.修改sentinel.conf这个配置文件
打开这个文件 我们注意到哨兵使用的端口号是26379.
 
dir "/usr/local/redis/etc"这个dir相当于哨兵的一些日志,我们修改他的路径,让他存放在我们想要保存的目录中。
 
sentinel monitor mymaster 192.168.1.229 6379 1 对应的分别是 名称,ip,端口,投票选举的次数(那么我们哨兵监听的肯定是master的ip然后端口是6379,1说明当master主服务器down机之后,剩下的服务器要进行一个投票选举出一个主服务器)
 
sentinel down-after-milliseconds mymaster 5000 这个配置代表哨兵0.5ms进行一次检查这个集群。
 
sentinel parallel-syncs mymaster 2这个配置代表你的几个从节点将支持转换为主服务器的这个事情。
 
需要修改的几乎就这几个配置。
然后 我们分别启动三台redis服务器
输入bin/redis-server etc/sentinel.conf --sentinel &这个命令启动哨兵
/usr/local/redis/bin/redis-cli -h 192.168.1.230 -p 26379 info sentinel这个命令是查看哨兵的状态

我们看到我的主服务器现在是229现在有两个slave
 
这样我们的哨兵模式就已经开启了,此时我们可以试图关闭229的redis,然后看哨兵会不会去从两个从服务器中选举一台充当主服务器。

 

http://blog.csdn.net/a347911/article/details/54094895

分享到:
评论

相关推荐

    Redis主从复制+哨兵配置手册.docx

    Redis 主从复制和哨兵配置手册 Redis 主从复制是一种高可用性解决方案,可以确保数据的安全和可靠性。在这个手册中,我们将详细介绍 Redis 主从复制的配置和哨兵的配置。 环境准备 在开始配置 Redis 主从复制之前...

    Docker搭建redis主从+哨兵模式集群.docx

    本文档主要介绍了使用Docker搭建Redis主从复制和哨兵模式集群的步骤。下面是详细的知识点总结: 一、Docker安装 * 下载Docker二进制文件(离线安装包),使用wget命令下载 * 上传到服务器,使用MobaXterm等工具 * ...

    Redis哨兵主从模式+keepalived.docx

    Redis主从复制模式是一种数据冗余容灾机制,通过在多台服务器上部署Redis实例,实现数据的实时同步和备份。当主服务器宕机时,备服务器可以自动切换为主服务器,提供高可用性的Redis服务。 在Redis主从复制模式中,...

    redis主从模式与哨兵模式例子

    redis主从模式与哨兵模式例子 # 当前Sentinel服务运行的端口 port 26378 # 哨兵监听的主服务器 sentinel myid 09a71e001825114de399e0b6214c4b6f5449ab3a # 3秒内mymaster没响应,则认为mymaster宕机 sentinel deny...

    Redis集群-Redis安装、Redis主从复制、哨兵、Redis集群

    Redis集群是Redis的一种高可用性解决方案,通过主从复制、哨兵和集群三大技术模块来实现高可用性和可扩展性。本文将对Redis集群进行详细的介绍,包括Redis安装、主从复制、哨兵和集群的配置和实现。 一、Redis安装 ...

    redis主从配置以及哨兵模式配置

    ### Redis 主从配置及哨兵模式详解 #### 一、实验环境 - **Redis 版本**: Redis 4.0.6 - **操作系统**: Linux (安装于虚拟机中) - **宿主主机**: Windows 10 x64 - **远程终端工具**: Xshell 5 #### 二、主从...

    redis主从库模式哨兵模式集群模式.docx

    Redis主从库模式哨兵模式集群模式 Redis的高可靠性主要包括两方面:数据尽量少丢失和服务尽量少中断。Redis提供了主从库模式,增加冗余的副本来提高Redis集群的高可靠性。主从库之间采用读写分离的方式,写请求只能...

    redis主从复制集群

    通过以上介绍,我们可以看到 Redis 主从复制不仅能够提供高可用性和扩展性,还能有效地防止单点故障的发生。此外,通过使用哨兵机制,可以进一步增强集群的健壮性和自动化管理水平。对于大型应用来说,合理设计和...

    【中间件篇-Redis缓存数据库06】Redis主从复制/哨兵 高并发高可用

    一、Redis主从复制 1. 主从复制的基本概念:主从复制是将一个Redis实例(主节点)的数据实时同步到其他实例(从节点)的过程。这样,即使主节点出现问题,从节点也能立即接管服务,保证系统的连续性。 2. 同步过程...

    redis 的主从复制,哨兵模式

    综上所述,Redis 的主从复制提供了基本的数据备份和故障恢复能力,而哨兵模式进一步增强了系统的高可用性,自动处理故障切换,降低了运维复杂度。在实际生产环境中,结合主从复制和哨兵模式,可以构建出稳定、可靠的...

    redis主从部署,哨兵

    redis主从部署,哨兵

    docker-compose redis主从哨兵 redis多节点高可用 redis集群高可用

    这里我们将详细探讨如何利用Docker Compose部署Redis的主从哨兵配置和集群高可用性解决方案。 首先,Docker Compose是一个强大的工具,可以让我们通过YAML文件定义和运行多容器的Docker应用。在这个场景下,我们...

    windows redis 主从集群实例加哨兵集群

    Windows Redis主从集群及哨兵集群的搭建是提高Redis服务的可用性和数据安全性的重要手段。下面将详细介绍这两个概念以及如何在Windows环境中实现。 1. Redis主从集群: 主从复制是Redis提供的一种数据备份和故障...

    Redis主从+哨兵模式部署.md

    Redis主从+哨兵模式部署

    03_redis 主从复制 Redis集群和哨兵模式.docx

    ### Redis 主从复制、集群与...综上所述,**Redis**的**主从复制**、**哨兵模式**和**Cluster**模式分别针对不同的场景提供了灵活的解决方案。开发者可以根据实际需求选择合适的技术方案来构建高效稳定的Redis集群。

    Redis主从哨兵配置.rar

    一、Redis主从复制 1. **安装Redis**:首先,你需要在Linux服务器上安装Redis。可以通过包管理器如`apt-get`或`yum`进行安装,或者下载源码编译安装。 2. **启动Redis服务**:安装完成后,启动Redis服务,通常命令...

    redis 主从复制,多个哨兵相关配置

    redis服务配置,配置redis主从复制,多个哨兵监控redis主服务,自动切换服务

    【Redis基础】一起读懂Redis主从架构、哨兵模式、集群(Demo详解)(csdn)————程序.pdf

    本文将深入探讨Redis的基础知识,包括主从架构、哨兵模式和集群模式。 **一、主从架构** 主从架构是Redis的基本高可用方案,主要用于数据备份和读写分离。在该架构中,一个Redis实例作为主节点(Master)接收所有的...

    Redis部署笔记(单机+主从+哨兵+集群)

    基于Centos7系统,由浅入深讲解如何部署Redis的四种模式,分别是:单机模式、主从模式、哨兵模式、集群模式。 完整原文:http://exp-blog.com/2018/09/14/pid-2285/ 同时提供Jedis客户端封装源码: ● 屏蔽Jedis与...

Global site tag (gtag.js) - Google Analytics