redis集群之哨兵(sentinel)模式

哨兵模式理想状态 需要>=3个redis服务,>=3个redis哨兵,每个redis服务搭配一个哨兵.

本例以3个redis服务为例: 一开始需要1个主redis (192.168.0.2), 2个从redis服务 (192.168.0.3 , 192.168.0.4).

配置如下

本样例还开启了redis密码功能.

1个主redis配置

#配置连接当前redis服务所需的密码
requirepass ""
#配置连接主redis服务的密码
masterauth ""

2个从redis配置

#配置连接当前redis服务所需的密码
requirepass ""
#配置连接主redis服务的密码
masterauth ""
#配置连接主redis的ip port
slaveof 192.168.0.2 6379

3个哨兵sentinel.conf统一配置

#参数说明:
#配置主机ip是192.168.0.2:6379,且当有2个哨兵认为这台主机无法通信时,才认为该主机挂了,作为判断条件之一
sentinel monitor mymaster 192.168.0.2 6379 2
#配置10秒内一直检测到主机无法通信时,才认为该主机挂了,作为判断条件之一
sentinel down-after-milliseconds mymaster 10000
#配置同一时间只能有1台主从机做主从同步,此时这台从机不能做其它操作
sentinel parallel-syncs mymaster 1
#主备切换时间超过180秒,即3分钟就认为切换失败,不再切换
sentinel failover-timeout mymaster 180000
#如果主机配了密码,那么这里也添加密码,注意如果主机没有密码,这里也不能配密码,不然会报错
sentinel auth-pass mymaster ""

注意 sentinel 默认端口26379

启动

先按序启动主redis服务,2个从redis服务.

cd /data/redis-3.0.6
./bin/redis-server ./etc/redis.conf

再无序启动3个sentinel哨兵, 有如下两种方式

#启动哨兵方式一,推荐
./bin/redis-sentinel ./etc/sentinel.conf
#启动哨兵方式二
./bin/redis-server ../etc/sentinel.conf --sentinel

测试哨兵

从机连接主机26379端口的哨兵,以验证主从连通状态

#从机连接任意sentinel哨兵
./redis-cli -h 192.168.0.2 -p 26379
#验证sentinel连接
192.168.0.2:26379> sentinel master mymaster
#显示结果,部分省略
1) "name"
2) "mymaster"
3) "ip"
4) "192.168.0.2"
5) "port"
6) ""
7) "runid"
8) "7ba48df7243231775146f8d2fac2eee76156ab3f"
......

Redis Sentinel机制与用法(一)

Redis主从加Sentinel模式部署

【Redis三】基于Redis sentinel的自动failover主从复制

redis集群之哨兵模式【原】的更多相关文章

  1. Redis集群--Redis集群之哨兵模式

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 搭建R ...

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

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

  3. docker 搭建 redis 集群(哨兵模式)

    文件结构 1. redis-sentinel 1-1. docker-compose.yml 1-2. sentinel 1-2-1 docker-compose.yml 1-2-2 sentinel ...

  4. (六) Docker 部署 Redis 高可用集群 (sentinel 哨兵模式)

    参考并感谢 官方文档 https://hub.docker.com/_/redis GitHub https://github.com/antirez/redis happyJared https:/ ...

  5. Spring Boot集成Redis集群(Cluster模式)

    目录 集成jedis 引入依赖 配置绑定 注册 获取redis客户端 使用 验证 集成spring-data-redis 引入依赖 配置绑定 注册 获取redis客户端 使用 验证 异常处理 同样的, ...

  6. redis(5)--redis集群之哨兵机制

    哨兵机制 在前面讲的master/slave模式,在一个典型的一主多从的系统中,slave在整个体系中起到了数据冗余备份和读写分离的作用.当master遇到异常终端后,需要从slave中选举一个新的m ...

  7. Windows系统搭建Redis集群三种模式(零坑、最新版)

    目录 主从复制 修改配置文件 启动各节点 验证 哨兵模式 修改配置文件 启动实例 验证 集群模式 修改配置文件 启动实例 验证 主从复制 新建以下三个目录,用来部署一主二从 redis 的安装在另外一 ...

  8. Redis集群主备模式部署

    网上有非常多用Ruby安装Redis-cluster的文章.可是在实际环境下不想安装Ruby,所以本文主要介绍了用Redis命令部署Redis集群.而且为集群中每个master实例添加一个slave实 ...

  9. Redis主从集群及哨兵模式

    本次实验环境准备用一台服务器模拟3台redis服务器,1主2从 主从集群搭建 第一步:安装Redis 安装Redis,参考前面安装Redis文章,保证单机使用没有问题. 第二步:配置服务器文件 定位到 ...

随机推荐

  1. 【XSY2751】Mythological IV 线性插值

    题目描述 已知\(f(x)\)为\(k\)次多项式. 给你\(f(0),f(1),\ldots,f(k)\),求 \[ \sum_{i=1}^nf(i)q^i \] \(k\leq 500000,n\ ...

  2. Shell 字符截取命令 Cut

    1.Cut 命令 # cut [选项] 文件名 选项 : -f 列号 提取第几列   -d 分隔符,按照指定分隔符分割列 2.例子 cut -f 1,4 -d ":" /etc/p ...

  3. 【BZOJ5323】[JXOI2018]游戏(组合计数,线性筛)

    [BZOJ5323][JXOI2018]游戏(组合计数,线性筛) 题面 BZOJ 洛谷 题解 显然要考虑的位置只有那些在\([l,r]\)中不存在任意一个约数的数. 假设这样的数有\(x\)个,那么剩 ...

  4. [2017-7-28]Android Learning Day6

    常用控件 Spinner DatePickerDialog TimePickerDiaog RadioButton CheckBox spinner(下拉菜单) <Spinner android ...

  5. Nginx代理MysqlCluster集群(二)

    Nginx代理MySql集群本次实验采用nginx 版本1.12以上 集合了tcp代理功能只需在编译时明文开启指定的功能 --with-stream--prefix=/usr/local/ngin - ...

  6. CAN协议,系统结构和帧结构

    CAN:Controller Area Network,控制器局域网 是一种能有效支持分布式控制和实时控制的串行通讯网络. CAN-bus: Controller Area Network-bus,控 ...

  7. Linux里文件和文件夹权限的含义

      文件的权限: r : 可以读取此文件的实际内容. w: 可以编辑.新增或者是修改该文件的内容(但不含删除该文件),如果没有r权限,无法w. x : 该文件具有被系统执行的权限,可以删除. 文件夹的 ...

  8. What can Reactive Streams offer EE4J?

    https://developer.lightbend.com/blog/2018-02-06-reactive-streams-ee4j/index.html By James Roper (@jr ...

  9. 洛谷 P1919 【模板】A*B Problem升级版(FFT快速傅里叶)

    题目来源 吐槽下P3803都是紫题... 真心好写,本想一遍过的...但是 我真是太菜了... #include<bits/stdc++.h> using namespace std; ; ...

  10. es6快速入门

    上次分享了es6开发环境的搭建,本次接着分享es6常用的特性. 1.变量声明let和const 我们都是知道在ES6以前,var关键字声明变量.无论声明在何处,都会被视为声明在函数的最顶部(不在函数内 ...