Redis主从复制和哨兵模式

Posted 奔跑的路奇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis主从复制和哨兵模式相关的知识,希望对你有一定的参考价值。

主从复制介绍

介绍

  • redis持久化保证了即使redis服务重启也不会丢失数据,但是当redis服务器的硬盘损坏了可能会导致数据丢失,通 过redis的主从复制机制就可以避免这种单点故障。
  • 主redis中的数据和从上的数据保持实时同步,当主redis写入数据时通过主从复制机制复制到两个从服务上。
  • 主机master配置:无需配置

搭建步骤:

第一步:复制出一个从机,注意使用root用户
redis的启动文件是redis.conf,将其放在一个目录中,比如我的redis.conf存放在RedisConfig目录中
在这里插入图片描述
上面的是自己的主机,现在复制出一个从机,启动文件就在redis1中:

[root@lq bin]# cp redisConfig/ redis1 -r

第二步:修改从机的redis1中的redis.conf文件
在这里插入图片描述
找到 replicaof 将后面改为自己redis的ip和主机的端口号,默认为6379。
第三步:修改从机的port地址为6380
在这里插入图片描述

启动从机后,从我画红线的地方可以看到,6380的这个redis就是一个从机了,它的主机就是自己前面配置的6379

在这里插入图片描述

注意事项

主机一旦发生增删改操作,那么从机会自动将数据同步到从机中
从机不能执行写操作,只能读

配置完成之后,一个要重启

Redis哨兵模式

哨兵模式介绍

哨兵模式:给集群分配一个站岗的。

哨兵的作用就是对Redis系统的运行情况监控,它是一个独立进程,它的功能:
	1. 监控主数据库和从数据库是否运行正常;
	2. 主数据出现故障后自动将从数据库转化为主数据库;
	3. 如果主机宕,开启选举工作,选择一个从做主机。

配置哨兵

配置哨兵要一主两从,就是按上面的方式再次配置一个post为6381即可。
哨兵主要是用来监听主服务器的,所以一般把哨兵部署在从服务器上监听。
第一步:配置哨兵


	 1. 首先需要创建哨兵配置文件vi sentinel.conf
	 2. 在配置中输入:sentinel monitor mastername redis的IP 6379 1
	 
说明:
	 1. mastername 监控主数据的名称,自定义
	 2. redis的IP:监控主redis的IP;
	 3. 6379:端口
	 4. 1:最低通过票数

第二步:启动哨兵:
哨兵是一个单独的进程,启动之前确保主从服务是正常的。先启动主服务,后启动从服务。
哨兵启动方式:
在这里插入图片描述
可以看到加了一个线程进行监控
在这里插入图片描述

完成这一步后可以看到sentinel.conf文件就变成了
在这里插入图片描述
启动自己的主机和配置的两个从机可以看到,说明配置一主二从成功连接
主机:
在这里插入图片描述从机
在这里插入图片描述

第二步:主机宕机
演示主机宕机 shutdown退出就好
在这里插入图片描述如图,此时6381就成为了主机,其下有一个6380的从机
在这里插入图片描述
在哨兵的配置文件中,6379变成了6381
在这里插入图片描述
如果6379恢复了的话,只能当从机。
主从集群:主机有写入权限。从机没有,只有可读。

最后,如果有问题,希望指正,一起进步。

以上是关于Redis主从复制和哨兵模式的主要内容,如果未能解决你的问题,请参考以下文章

Redis集群模式1-主从复制+哨兵机制

NoSQL 之Redis主从复制哨兵和集群介绍及详细搭建步骤

Redis 主从复制-哨兵-集群 相关部署

Redis主从复制和哨兵模式

Redis 大型攻略之主从复制哨兵模式群集模式

Redis 大型攻略之主从复制哨兵模式群集模式