概述

在部署redis 的时候,如果redis宕机,缓存将不可用,redis提供了哨兵模式保证redis实现高可用。

即一台主机两台从机,三台哨兵主机,如果主实例宕机,哨兵将将一台从机升级为主机。实现高可用。

配置方法

1.IP地址配置如下

主 127.0.0.1 6001

从 127.0.0.1 6002

从 127.0.0.1 6003

哨兵

127.0.0.1 16001

127.0.0.1 16002

127.0.0.1 16002

2.修改配置

将 redis.con 拷贝两份 redis1.conf redis2.conf

修改配置如下:

编辑 redis.conf

bind 192.168.1.88 127.0.0.1

protected-mode no

daemonize yes

port 6001

pidfile "/var/run/redis_6001.pid"

编辑 redis1.conf

bind 192.168.1.88 127.0.0.1

protected-mode no

daemonize yes

port 6002

pidfile "/var/run/redis_6002.pid"

slaveof 127.0.0.1 6001

编辑 redis2.conf

bind 192.168.1.88 127.0.0.1

protected-mode no

port 6003

daemonize yes

pidfile "/var/run/redis_6003.pid"

slaveof 127.0.0.1 6001

编辑 哨兵文件

将哨兵文件拷贝两份

sentinel.conf sentinel1.conf sentinel2.conf

编辑 sentinel.conf

port

daemonize yes

sentinel monitor mymaster 127.0.0.1 6001 2

编辑 sentinel1.conf

port

daemonize yes

sentinel monitor mymaster 127.0.0.1 6001 2

编辑 sentinel2.conf

port

daemonize yes

sentinel monitor mymaster 127.0.0.1 6001 2

配置完成

注意

这里如果需要使用哨兵模式连接的话,注意不能使用 127.0.0.1 需要使用对外的IP地址。

3.启动 redis

./bin/redis-server etc/redis.conf

./bin/redis-server etc/redis1.conf

./bin/redis-server etc/redis2.conf

启动哨兵

./bin/redis-sentinel ./etc/sentinel.conf

./bin/redis-sentinel ./etc/sentinel1.conf

./bin/redis-sentinel ./etc/sentinel2.conf

验证

新开一个命令行窗口进入redis的src目录,用redis-cli工具登录其中一个哨兵

./bin/redis-cli -p 16001

连接成功后运行如下命令

sentinel master mymaster

我们可以看到主机端口为 6001

我们手工关闭 6001的实例。

可以看到 6001 断开了。

可以看到6002 变为主机了。可以看到 6002 的配置文件 slaveof 127.0.0.1 6001 没有了。

测试设置数据:

连接到 6002

./bin/redis-cli -p 6002

set name redis

连接到6001

get name

可以获取到数据 redis

我们连接到6003 ,设置数据,我们可以从机是不能设置数据的。

sentinel 作用

A、Master 状态监测

B、如果Master 异常,则会进行Master-slave 转换,将其中一个Slave作为Master,将之前的Master作为Slave

C、Master-Slave切换后,redis.conf、redis1.conf和redis2.conf,sentinel.conf 的内容都会发生改变,sentinel.conf的监控目标会随之调换

sentinel monitor mymaster 127.0.0.1 6002 2

redis 的一主二从三哨兵模式的更多相关文章

  1. docker-compose一键部署redis一主二从三哨兵模式(含密码,数据持久化)

    本篇基于centos7服务器进行部署开发 一.拉取redis镜像,使用如下命令 docker pull redis 1.查看镜像是否拉取成功,使用如下命令 docker images 显示如下则证明拉 ...

  2. redis环境搭建及一主二从三哨兵模式配置

    一.单机redis环境搭建 1.安装: OS:linux redhat6.5 下载redis 官网下载链接:https://redis.io/download 把安装包上传到服务器,进行解压 [roo ...

  3. 【运维技术】redis(一主两从三哨兵模式搭建)记录

    redis(一主两从三哨兵模式搭建)记录 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也包含我自己,能够节省对应的时间. 软件架构: 生产环境使用三台 ...

  4. redis(一主两从三哨兵模式搭建)记录

    转自:http://www.cnblogs.com/fly-piglet/p/9836314.html 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也 ...

  5. Redis 搭建一主二从三哨兵高可用集群

    1.单个redis服务搭建请参考:redis服务搭建 2.在/usr/local下创建目录redis-cluster,并在redis-cluster下创建 6379.6380.6381目录以及data ...

  6. redis 一主二从三哨兵

    总体部署 一主二从三哨兵 ip地址分配分别为 主 127.0.0.1:6379 从 127.0.0.1:6389 从 127.0.0.1:6399 哨兵 127.0.0.1:26379 哨兵 127. ...

  7. redis一主二从三哨兵

    redis做集群的时候有很多种配置方法,一主二从三哨兵这种模式是官网推荐的.,写配置文件链接的时候,写的是哨兵地址,不是IP,用户名,密码之类的. 一主二从很好理解,一个主的redis,实时备份到两个 ...

  8. springboot 集成Redis一主二从三哨兵

    1.Centos7 Redis一主二从三哨兵配置 Redis一主二从三哨兵环境搭建 2.接入过程 与集成redis单机不同的是jedis相关的配置做了修改,JedisPool换成了JedisSenti ...

  9. docker compose搭建redis7.0.4高可用一主二从三哨兵集群并整合SpringBoot【图文完整版】

    一.前言 redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群. redis有两种高可用的方案: High availability with Re ...

随机推荐

  1. Fiddler调试和Wireshark数据包分析

    扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主

  2. vue总结2

    1. 给router-link添加事件 之前用v-link 现在用 router-link 添加事件要用原生的.native修饰v-on <my-component v-on:click.nat ...

  3. 在ALV界面添加下拉框

    1.在alv界面表单属性中设置 if wa_fieldcat-fieldname = 'YC_MARK'.              wa_fieldcat-edit = 'X'.           ...

  4. centos实现两种秒级任务的简单方法

    1.通过写shell脚本,死循环,守护进程运行 > vi /data/sec.sh #!/bin/bash while true do #写上自已的命令 echo "hello wor ...

  5. python subprocess 小例子

    #服务端import socketimport osimport subprocessphone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ...

  6. react-router4 第一篇

    无奈,英语4级没过,只能靠猜了.. 首先就是安装了 npm install --save-dev react npm install --save-dev react-dom npm install ...

  7. MongoDb进阶实践之八 MongoDB的聚合初探

    一.引言 好久没有写东西了,MongoDB系列的文章也丢下好长时间了.今天终于有时间了,就写了一篇有关聚合的文章.一说到“聚合”,用过关系型数据库的人都应该知道它是一个什么东西.关系型数据库有“聚合” ...

  8. Linux_(2)基本命令(下)

    六.文件搜索命令11 :which功能描述:显示系统命令所在目录命令所在路径:/usr/bin/which执行权限:所有用户语法:which [命令名称]范例:$ which ls 12 :find功 ...

  9. sql server 查询不为空的字段

    经常用,经常忘 select * from table where content is not null and datalength(content)<>0

  10. BZOJ 1791: [IOI2008]Island 岛屿 - 基环树

    传送门 题解 题意 = 找出无向基环树森林的每颗基环树的直径. 我们首先需要找到每颗基环树的环, 但是因为是无向图,用tarjan找环, 加个手工栈, 我也是看了dalao的博客才知道tarjan找无 ...