Redis:哨兵机制sentinel配置(5)

一、概念

Redis Sentinel为Redis提供高可用性。主要有以下功能

监控,Sentinel会不断检查主节点和从节点是否按预期工作。

通知。Sentinel可以通过API通知系统管理员,一个受监控的Redis实例出现问题。

自动故障转移。如果主服务器未按预期工作,Sentinel可以启动故障转移过程,其中从节点升级为主节点,其他服务器重新配置向新主同步数据

Sentinel本身设计为在多个Sentinel进程协同工作的配置中运行。让多个Sentinel进程协作的优势如下:

当多个Sentinels同意给定主设备不再可用时,将执行故障检测。这降低了误报的可能性。

即使并非所有Sentinel进程都正常工作,哨兵也能正常工作,从而使系统能够抵御故障。毕竟,拥有故障转移系统并不是一件好事,而故障转移系统本身就是一个单一的故障点。

二、配置前第几个说明

1、Sentinel会自动发现从节点,也就是我们只需要配置好监控的主节点,Sentinel会自己找到主节点的从节点,已经同样在监控主节点的其他Sentinel

2、配置Sentinel节点个数一般大于3 且是奇数,如果只有2个,那么发生网络分区的时候只需要1票就可以认为节点down了,这个就很不合理了。

二、实现

1、配置

查看哨兵是否生效(登录哨兵所在cli):

redis-cli -p 26380

#sentinel master mymaster

127.0.0.1:26381> sentinel master mymaster

1) "name"

2) "mymaster" #标识名

3) "ip"

4) "127.0.0.1"  #主节点ip

5) "port"

6) "6380"  #端口

7) "runid"

8) "76bd28b96c8bb8c1ea9d8c5ceb62e4cd77265a7c"

9) "flags" #标识,这里表示是一个主节点

10) "master"

11) "link-pending-commands"

12) "0"

13) "link-refcount"

14) "1"

15) "last-ping-sent"

16) "0"

17) "last-ok-ping-reply"

18) "827"

19) "last-ping-reply"

20) "827"

21) "down-after-milliseconds"

22) "60000"

23) "info-refresh"

24) "1065"

25) "role-reported"

26) "master"

27) "role-reported-time"

28) "399885"

29) "config-epoch"

30) "0"

31) "num-slaves"   #哨兵数量

32) "2"

33) "num-other-sentinels"

34) "2"

35) "quorum"  ##法定票数

36) "2"

37) "failover-timeout"  #故障转移的超时时间

38) "180000"

39) "parallel-syncs"  #支持多少个slave同时同步数据,值太大对主库有压力。太小的话整个集群同步时间慢

40) "1"

2、测试自动重新分配

1)连接主库,关闭服务

redis-cli -p 6380

#shutdown

2)连接哨兵查看

redis-cli -p 26381

1) "name"

2) "mymaster"

3) "ip"

4) "127.0.0.1"

5) "port"

6) "6382"  #已自动切换6382为主服务器

3)登录6382查看

redis-cli -p 6382

127.0.0.1:6382> info replication

# Replication

role:master  #已自动切换6382为主服务器

connected_slaves:1    #从服务器1个

slave0:ip=127.0.0.1,port=6381,state=online,offset=133493,lag=0

master_replid:36a566012f6cb1a42d69273ceebbb1187943477c

master_replid2:6a9a9ea6c3ee248c95b65e689841f3edcc0bc5fa

master_repl_offset:133493

second_repl_offset:111505

repl_backlog_active:1

repl_backlog_size:1048576

repl_backlog_first_byte_offset:423

repl_backlog_histlen:133071

4)重启之前的主服务器后

再次查看,之前的主服务器自动变为从服务器

redis-cli -p 6382

127.0.0.1:6382> info replication

# Replication

role:master

connected_slaves:2

slave0:ip=127.0.0.1,port=6381,state=online,offset=173563,lag=1

slave1:ip=127.0.0.1,port=6380,state=online,offset=173563,lag=1

master_replid:36a566012f6cb1a42d69273ceebbb1187943477c

master_replid2:6a9a9ea6c3ee248c95b65e689841f3edcc0bc5fa

master_repl_offset:173696

second_repl_offset:111505

repl_backlog_active:1

repl_backlog_size:1048576

repl_backlog_first_byte_offset:423

repl_backlog_histlen:173274

参考:

https://blog.csdn.net/L835311324/article/details/83870657

本博客地址: wukong1688

本文原文地址:https://www.cnblogs.com/wukong1688/p/12325999.html

转载请著名出处!谢谢~~

原文地址:https://www.cnblogs.com/wukong1688/p/12325999.html

时间: 2024-10-11 02:54:47

Redis:哨兵机制sentinel配置(5)的相关文章

redis哨兵机制及配置

Redis哨兵机制 什么是哨兵机制 Redis的哨兵(sentinel) 系统用于管理多个 Redis 服务器,该系统执行以下三个任务: ·        监控(Monitoring): 哨兵(sentinel) 会不断地检查你的Master和Slave是否运作正常. ·        提醒(Notification):当被监控的某个 Redis出现问题时, 哨兵(sentinel) 可以通过 API 向管理员或者其他应用程序发送通知. ·        自动故障迁移(Automatic fai

Redis哨兵机制(sentinel)

1.简介: 1.是什么: Redis-Sentinel是Redis官方推荐的高可用(HA)方案,当用Reids 做master-slave高可用方案时,假如master宕机了,redis本身(包括它的很多客服端)都没有实现自动的主备切换,而Redis-Sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能自动切换. 2.功能 不时监控redis是否按照预期的良好的运行. 如果发现某个redis节点运行出现状况,能够通知别外一个进程(如它的客

Redis哨兵(Sentinel)模式

Redis哨兵(Sentinel)模式 主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用.这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式. 一.哨兵模式概述 哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行.其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例. Redis哨兵 这里的哨兵有两个作用 通过发送命令,让Re

Redis之哨兵模式Sentinel配置与启动(五)

一.介绍 上一篇我们已经介绍了Redis的主从复制,传送门:<Redis高可用之主从复制实践(四)>,想必大家对redis已经有一个概念了,那么问题来了,如果redis主从复制的master服务器挂掉了,那么整体redis就崩溃了,因为master无法进行写数据,导致slave中无法更新数据. 那么为了解决这个问题我们就需要有一种方案让redis宕机后可以自动进行故障转移,还好redis给我们提供一种高可用解决方案 Redis-Sentinel.Redis-sentinel本身也是一个独立运行

redis哨兵机制一(转)

概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如 master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它 能监控多个master-slave集群,发现master宕机后能进行自懂切换. 它的主要功能有以下几点 不时地监控redis是否按照预期良好地运行; 如果发现某个redis节点运行出现状况,能够通知另外一个进程

Redis哨兵模式(Sentinel)的搭建

一.Redis的哨兵模式 Sentinel是Redis官方提供的一种高可用方案(除了Sentinel,Redis Cluster是另一种方案),它可以自动监控Redis master/slave的运行状态,如果发现master无法访问了,就会启动failover把其中一台可以访问的slave切换为master,并且通过pub/sub事件通知Redis客户端新的master的ip地址. 支持Sentinel的Redis客户端(例如java的Jedis)会在连接Redis服务器的时候向Sentine

redis哨兵机制环境搭建

安装:redis.conf(主库配置)1.bind 10.40.0.0 修改绑定ip为服务器内网ip地址,做绑定,三台各自填写各自的ip地址 2.port 6600 #端口号 protected-mode no保护模式修改为否,允许远程连接 4.daemonize yes #后台运行 requirepass "123456789" 设定密码 masterauth "123456789" 设定主库密码与当前库密码同步,保证从库能够提升为主库 appendonly ye

Redis哨兵模式的配置

绪论 现有三台设备,192.168.137.11.192.168.137.12和192.168.137.13,要求在三台设备上实现redis哨兵模式,其中192.168.137.11为master,其他两台为slave. 1.在Master上配置redis.conf文件 配置文件内容如下: protected-mode no (关闭保护模式) port 6379 daemonize yes (设置redis在后台启动) pidfile /var/run/redis_6379.pid logfil

redis 哨兵机制环境搭建

一.主从同步 参考:https://www.cnblogs.com/zwcry/p/9046207.html 二.哨兵配置(sentinel.config) 简单修改sentinel.config内容 1.初始化监听主redis #设置主redis ip 端口 哨兵服务投票数 sentinel monitor mymaster 127.0.0.1 6381 1 2.设置后台运行哨兵服务 daemonize yes 三.sentinel.config其他配置 1.其他配置会自主更新,不需要手配 2