1 Redis Sentinel

1.1 哨兵的作用

  • 1. 监控:监控主从是否正常
  • 2. 通知:出现问题时,可以通知相关人员
  • 3. 故障迁移:自动主从切换
  • 4. 统一的配置管理:连接者询问sentinel取得主从的地址

1.2 搭建redis主从

  • 主redis配置文件
[root@redis01 conf]# cat /usr/local/redis/conf/redis.conf
bind 0.0.0.0
protected-mode no
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile "/var/run/redis_6379.pid"
requirepass "abc"
masterauth "abc"
loglevel notice
logfile ""
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/usr/local/redis/conf"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
# Generated by CONFIG REWRITE
  • 主sentinel配置文件
[root@redis01 conf]# cat sentinel.conf
sentinel monitor mymaster 10.0.0.61 6379 2
sentinel down-after-milliseconds mymaster 15000
sentinel failover-timeout mymaster 80000
sentinel auth-pass mymaster abc
bind 10.0.0.61
protected-mode yes
daemonize yes
logfile "/usr/local/redis/conf/sentinel.log"

1.3 从节点配置

[root@redis02 conf]# cat redis.conf
bind 0.0.0.0
protected-mode no
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
cluster-enabled no
cluster-config-file "nodes_6379.conf"
cluster-node-timeout 15000
daemonize yes
supervised no
pidfile "/var/run/redis_6379.pid"
masterauth "abc"
requirepass "abc"
loglevel notice
logfile ""
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/usr/local/redis/conf"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
  • sentinel配置  
[root@redis02 conf]# cat sentinel.conf
sentinel monitor mymaster 10.0.0.62 6379 2 #监控主节点
sentinel down-after-milliseconds mymaster 15000
sentinel failover-timeout mymaster 80000
sentinel auth-pass mymaster abc #密码
bind 10.0.0.62
daemonize yes #后台
protected-mode yes #使用安全
logfile "/usr/local/redis/conf/sentinel.log"
  • 切换日志
5104:X 03 Feb 22:49:01.306 # +try-failover master mymaster 10.0.0.61 6379
5104:X 03 Feb 22:49:01.308 # +vote-for-leader de08855c7e8920b21ae90cb716280882dd519558 4
5104:X 03 Feb 22:49:01.313 # 18e37e8ca155d107964e8c9cf64f2d15e4729826 voted for de08855c7e8920b21ae90cb716280882dd519558 4
5104:X 03 Feb 22:49:01.364 # +elected-leader master mymaster 10.0.0.61 6379
5104:X 03 Feb 22:49:01.364 # +failover-state-select-slave master mymaster 10.0.0.61 6379
5104:X 03 Feb 22:49:01.431 # +selected-slave slave 10.0.0.62:6379 10.0.0.62 6379 @ mymaster 10.0.0.61 6379
5104:X 03 Feb 22:49:01.431 * +failover-state-send-slaveof-noone slave 10.0.0.62:6379 10.0.0.62 6379 @ mymaster 10.0.0.61 6379
5104:X 03 Feb 22:49:01.508 * +failover-state-wait-promotion slave 10.0.0.62:6379 10.0.0.62 6379 @ mymaster 10.0.0.61 6379
5104:X 03 Feb 22:49:01.512 # +promoted-slave slave 10.0.0.62:6379 10.0.0.62 6379 @ mymaster 10.0.0.61 6379
5104:X 03 Feb 22:49:01.512 # +failover-state-reconf-slaves master mymaster 10.0.0.61 6379
5104:X 03 Feb 22:49:01.599 # +failover-end master mymaster 10.0.0.61 6379
5104:X 03 Feb 22:49:01.599 # +switch-master mymaster 10.0.0.61 6379 10.0.0.62 6379
5104:X 03 Feb 22:49:01.599 * +slave slave 10.0.0.61:6379 10.0.0.61 6379 @ mymaster 10.0.0.62 6379
5104:X 03 Feb 22:49:16.661 # +sdown slave 10.0.0.61:6379 10.0.0.61 6379 @ mymaster 10.0.0.62 6379
5104:signal-handler (1517669370) Received SIGINT scheduling shutdown...
5104:X 03 Feb 22:49:30.193 # User requested shutdown...
5104:X 03 Feb 22:49:30.193 # Sentinel is now ready to exit, bye bye...
  •  重置主从
[root@redis01 conf]# redis-cli -a abc
127.0.0.1:6379> INFO replication
# Replication
role:slave
master_host:10.0.0.62
master_port:6379
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:47568
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
127.0.0.1:6379> slaveof no one
OK
[root@redis02 conf]# redis-cli -a abc
127.0.0.1:6379> SLAVEOF 10.0.0.61 6379
OK

  

  

Redis Sentinel用法的更多相关文章

  1. Redis Sentinel机制与用法说明【转】

    本文来自:https://segmentfault.com/a/1190000002680804 概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Ma ...

  2. Redis Sentinel机制与用法(一)

    Sentinel spring 集群配置: 概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕 ...

  3. Redis Sentinel机制与用法

    概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都 ...

  4. Redis Sentinel 机制与用法(二)

    概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如 master宕机了,Redis本身(包括它的很多客户端) ...

  5. Redis Sentinel机制与用法说明

    本文来自 https://www.cnblogs.com/zhoujinyi/p/5569462.html 概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Red ...

  6. Redis Sentinel 高可用服务搭建

    阅读目录: 关于 Redis 的概念 关于 Redis Sentinel 的概念 搭建 Redis Server(master) 搭建 Redis Server(slave) 搭建 Redis Sen ...

  7. 【转载】Redis Sentinel 高可用服务架构搭建

    作者:田园里的蟋蟀 出处:http://www.cnblogs.com/xishuai/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接. 阅读 ...

  8. Redis Sentinel哨兵配置

    概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都 ...

  9. Redis|Sentinel 高可用架构

    一 前言 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端 ...

随机推荐

  1. linux下的命令是如何运行的

    linux下的命令分为内建命令.可执行文件.脚本文件 shell终端里键入一个命令,如ls.cd.bash,shell会先查询一个环境变量PATH,它存了各种可执行文件的路径,输入$PATH可以打印变 ...

  2. shell zip和unzip压缩和解压,压缩效率

    1.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩mydata目录zip -r mydata.zip ./*txt #压缩当 ...

  3. C# 生成小程序码

    /// <summary> /// B接口-微信小程序带参数二维码的生成 /// </summary> /// <param name="access_toke ...

  4. 利用程序随机构造N个已解答的数独棋盘

    高级软件工程第二次作业:利用程序随机构造N个已解答的数独棋盘,代码如下: package SudokuGame; /** * 解决这个问题使用的是回溯+剪枝的算法 * 基本思想:不断地将每个格子可填入 ...

  5. python基础之运算符和编码

    while循环 什么是循环? 就是不断的重复做一件事 while --关键字 后边跟条件 :还有循环体. 条件体为真,循环体内执行,为假不执行 while else 两者为一体的,相当于 if els ...

  6. [Fw]中断的初始化

    要使用中断肯定得初始化,这些初始化在系统启动时已经为你做好了,但是我们还是来看看怎样初始化的,这样就能更好的理解中断机制了.先看下面函数: 355 void __init init_ISA_irqs  ...

  7. MVC:页面提交JQ动态生成的输入框的值得解决方案:

    一,动态生成JS写法 <script type="text/javascript"> , , , ); function Additional() { var num ...

  8. 简易的富文本编辑器WangEditor

    网址http://www.wangeditor.com/ var E = window.wangEditor; var editor = new E('#editor') // 或者 var edit ...

  9. deep features for text spotting 在linux,windows上使用

    做文本检测这个方向的同学应该都知道 deep features for text spotting 这篇ECCV14的文章. 用的是Matconvnet这个是深度学习框架来做文本检测,同时他还提供了代 ...

  10. ORA-20782: Creating GGS_DDL_RULES

    在11g数据库上安装goldengate,运行@ddl_setup.sql时有如下错误 ERROR at line 1: ORA-20782: Creating GGS_DDL_RULES table ...