------------------------------redis主从备份以及哨兵模式----------------------------------------------------------

1、  在根目录/下新建myredis目录,将redis解压缩目录下的/opt/redis-3.0.4下的redis.conf配置文件拷贝到/myredis下,需要拷贝3份,分别命名为redis6379.conf、redis6380.conf、redis6381.conf,如下图:

2、  编辑以上3个配置文件,修改如下几项:

1)  daemonize(后台运行)

2)  pidfile(保存生成的pid的文件的位置)

3)  port(访问端口)

4)  logfile(日志文件位置+名称)

5)  slaveof(做为谁的从机,master不用配置该项)

其中主库redis6379.conf配置如下:

1)  daemonize yes

2)  pidfile /var/run/redis6379.pid

3)  port 6379

4)  logfile "/data/logs/redis6379.log"

5)  不配置slaveof

从库1 redis6380.conf配置如下:

1)  daemonize yes

2)  pidfile /var/run/redis6380.pid

3)  port 6380

4)  logfile "/data/logs/redis6380.log"

5)  slaveof 127.0.0.1 6379

从库2 redis6381.conf配置如下:

6)  daemonize yes

7)  pidfile /var/run/redis6381.pid

8)  port 6381

9)  logfile "/data/logs/redis6381.log"

10)  slaveof 127.0.0.1 6379

3、  创建日志文件目录

mkdir -p /data/logs

4、  启动主库服务,再分别启动两个丛库服务

redis-server /myredis/redis6379.conf

redis-server /myredis/redis6380.conf

redis-server /myredis/redis6381.conf

5、  查看服务是否启动成功

ps -ef | grep redis |grep -v grep

6、  启动3个客户端,分别连接6379、6380、6381服务,并查看主从关系

其中6379如下:

redis-cli -p 6379  客户端连接6379服务

info replication   查看主从关系

6380如下:

6381如下:

7、  主库(master) 6379中添加数据,并分别在丛库(slave)6380和6381中查看是否有数据,相当于读写分离(主写从读)

8)测试在丛库写数据,会提示丛库是只读的,没有写入的权限

9)停止主机,并查看从机的主从复制信息

主机停止的情况下,两个从机仍然是从机,且显示主机状态是down,不会选举其中一个做为主机,相当于无法再进行写操作了。

10)重新启动主机,并在主机中写数据,查看从机是否还能否查询到数据,发现从机仍能查询到数据,说明主机重启的情况下也仍能进行主从同步

----------------------------------至此,代表主从配置成功-------------------------------------------------

-----------------------------------------------redis哨兵模式----------------------------------------------------

1、  复制redis解压缩目录下的sentinel.conf文件到/myredis目录下

cp /opt/redis-3.0.4/sentinel.conf /myredis/sentinel6379.conf

2、  进入/myredis 目录下并编辑sentinel6379.conf文件

修改为sentinel monitor mymaster 127.0.0.1 6379 1

语法为:sentinel monitor <master-name> <ip> <redis-port> <最少几个哨兵任务主库已死>

3、  启动哨兵

redis-sentinel /myredis/sentinel6379.conf

代表已监控6379为master,6380和6381为slave

4、  关闭6379,模拟主机故障,查看哨兵日志

以上日志,说明哨兵监控到6379挂掉了,选举6381做为新的master,将6380重新做为6381的slave,并且6379修复好重启后也将做为6381的slave

5、  分别在6381和6380上查看主从关系

以上信息说明现在确实是6381是主库,6380是丛库

6、  测试在6381上新增数据,在6380上是否能够查询到

6381新增hash数据

6380查询

说明6381设置内容,6380确实可以做为丛库查询到数据

7、  重启6379服务,并查看6379、6380、6381的主从关系

6379信息如下:

6380信息如下:

6381信息如下:

以上信息说明6379启动后确实做为了6381的丛库

8、  查看6379中的数据与6381的数据是否一致

6381数据如下:

6379数据如下:

以上数据说明6379启动后确实做为了6381的丛库,且自动从6381进行了数据同步

至此,哨兵模式配置完毕。

若有理解不到之处,望指正!

0030redis主从复制以及哨兵模式的搭建的更多相关文章

  1. Linux基于Docker的Redis主从复制、哨兵模式搭建

    本教程基于CentOS7,开始本教程前,请确保您的Linux系统已安装Docker. 1.使用docker下载redis镜像 docker pull redis 安装完成后,使用docker imag ...

  2. Redis——(主从复制、哨兵模式、集群)的部署及搭建

    Redis--(主从复制.哨兵模式.集群)的部署及搭建 重点: 主从复制:主从复制是高可用redis的基础,主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复. 哨兵和集群都是 ...

  3. redis的主从复制和哨兵模式

    Redis主从复制是什么? 行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 Redis主从复制 ...

  4. linux 下Redis 5.0主从复制(一主二从)哨兵模式的搭建

    文档结构如下: 一.环境说明: 作用 IP地址 端口 操作系统版本 安装目录 哨兵文件 主库 172.16.10.80 6379 Redhat 6.7 /redis5.0/redis-5.0.0 Se ...

  5. redis集群sentinel哨兵模式的搭建与实际应用

    参考资料:https://blog.csdn.net/men_wen/article/details/72724406 之前环境使用的keepalived+redis vip集群模式,现在我们服务切换 ...

  6. Redis主从复制、哨兵模式

    1.部署主从 环境:主IP:10.0.0.15,端口6379;从IP:10.0.0.16,端口6379. 原理:基于RDB持久化的功能来实现主从复制的功能. a.linux-redis1(10.0.0 ...

  7. redis学习三,Redis主从复制和哨兵模式

    Redis主从复制 java架构师项目实战,高并发集群分布式,大数据高可用,视频教程 1.Master可以拥有多个slave 2.多个slave可以连接同一个Master外,还可以连接到其他的slav ...

  8. Redis主从复制配置+哨兵模式

    架构设计: master:s0 slave:s1.s2 主机映射信息如下: 192.168.32.100 s0 192.168.32.101 s1 192.168.32.102 s2 1.安装Redi ...

  9. redis: 主从复制和哨兵模式(十三)

    redis 主从复制 最低要求是一主二从(一个主机和两个从机) 主机才能写 从机只能读 只要从机连接到主机 数据就会全量复制到从机 环境配置(同一台机器) 1:配置文件 redis.conf配置如下: ...

随机推荐

  1. 【视频开发】【CUDA开发】ffmpeg nvenc编码

    花时间研究了一些ffmpeg的nvenc,本来想我已经有了cuvid,然后又搞出来了nvenc,应该可以做个全套的英伟达的转码了,没想到ffmpeg官网下载的动态库没有cuvid,windows上编译 ...

  2. Python Tkinter 文本框(Entry)

    Python Tkinter 文本框用来让用户输入一行文本字符串. 你如果需要输入多行文本,可以使用 Text 组件. 你如果需要显示一行或多行文本且不允许用户修改,你可以使用 Label 组件. 语 ...

  3. web版本的用户登陆票据 FormsAuthenticationTicket

    FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, "username", DateTime.N ...

  4. Vue框架初识01

    摘要 vue简介 vue使用 一.Vue简介: 简介: Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 A ...

  5. day44——索引、explain、慢查询、数据备份、锁、事务

    day44 索引介绍 为何要有索引? ​ 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还有一些复杂的查询操作 ...

  6. H5新特性 本地存储---cookie localStorage sessionStorage

    本地存储的作用 :避免登录网站时,用户在页面浏览时重复登录,也可以实现快速登录,一段时间内保存用户的登录效果,提高页面访问速率 在html5中提供三种数据持久化操作的方法: 1.cookie 可看作是 ...

  7. Python 获取本月的最后一天

    一.需求 现在有一个场景,需要每月的最后一天,发送一封邮件. 二.获取本月最后一天 有没有办法使用Python的标准库轻松确定(即一个函数调用)给定月份的最后一天? 答案是有的,使用 datetime ...

  8. 作业调度框架Quartz.NET-现学现用-02-任务监听

    原文:作业调度框架Quartz.NET-现学现用-02-任务监听 前言 任务调度系统并不是完美的,它会出现任务执行失败的情况.如果你需要处理任务失败后的逻辑,希望这篇笔记可以为你提供些帮助. Quar ...

  9. 使用DOS命令登录管理员并添加账号管理员权限

    runas /user:administrator cmd Password: compmgmt.msc

  10. "超时时间已到。在操作完成之前超时"的解决思路

    错误往往是数据库操作超时引起 1.检查数据库访问连接字符串启用连接池,若是,适当增大超时时间 2.ADO sqlcommand相应调整超时时长 3.关键在于优化数据库操作,优化压缩执行时间