配置哨兵监控Redis运行情况
Redis的主从架构,如果master发现故障了,还得手动将slave切换成master继续服务,手动的方式容易造成失误,导致数据丢失,那Redis有没有一种机制可以在master和slave进行监控,并在master发送故障的时候,能自动将slave切换成master呢?有的,那就是哨兵。
哨兵的作用:
1、监控redis进行状态,包括master和slave
2、当master down机,能自动将slave切换成master

下面配置哨兵监控redis进程,假如我们已经配置好了Master和Slave,具体详细配置参考 http://www.cnblogs.com/liuyansheng/p/6530851.html
1、新建配置文件,命名为sentinel.conf,输入下面内容
sentinel monitor mymaster 192.168.137.101
sentinel auth-pass myMaster master123 #配置密码
mymaster :master服务的名称,随便定义
192.168.137.101 6379:master的ip和端口
1:在至少1个哨兵实例都认为master down后把master标记为odown(objective down客观down;相对应的存在sdown,subjective down,主观down)状态
sentinel.conf具体配置参考 http://www.cnblogs.com/liuyansheng/p/6531321.html
2、启动哨兵,在redis的src目录下,执行下面命令
./redis-sentinel ../../conf/sentinel.conf

可以看到哨兵已经把master和slave都监控了。
3、进行哨兵测试,将103的slave进行shutdown,哨兵将监控到状态。
:X Jun ::26.647 # +sdown slave 192.168.137.102: 192.168.137.103 @ myMaster 192.168.137.101
然后将103重启服务,查看哨兵控制台
:X Jun ::22.716 * +reboot slave 192.168.137.102: 192.168.137.103 @ myMaster 192.168.137.101
已经进行恢复
4、将master kill掉,查看哨兵后台打印信息
:X Jun ::50.300 # +sdown master myMaster 192.168.137.101 #说明master服务已经宕机
:X Jun ::50.300 # +odown master myMaster 192.168.137.101 #quorum /
:X Jun ::50.300 # +new-epoch
:X Jun ::50.300 # +try-failover master myMaster 192.168.137.101 #开始恢复
:X Jun ::50.304 # +vote-for-leader a496627d72d98fde98b8270e297ab32b330ebac7 #投票选举哨兵leader,现在就一个哨兵所以leader就自己
:X Jun ::50.304 # +elected-leader master myMaster 192.168.137.101 # 选中leader
:X Jun ::50.304 # +failover-state-select-slave master myMaster 192.168.137.101 #选择master
:X Jun ::50.357 # +selected-slave slave 192.168.137.102: 192.168.137.102 @ myMaster 192.168.137.101 #选中192.168.137. 6379作为切换
:X Jun ::50.357 * +failover-state-send-slaveof-noone slave 192.168.137.102: 192.168.137.102 @ myMaster 192.168.137.101 #发送slaveof no one命令
:X Jun ::50.420 * +failover-state-wait-promotion slave 192.168.137.102: 192.168.137.102 @ myMaster 192.168.137.101 #等待升级master
:X Jun ::50.515 # +promoted-slave slave 192.168.137.102: 192.168.137.102 @ myMaster 192.168.137.101 #192.168.137.102 6379升级为master
:X Jun ::50.515 # +failover-state-reconf-slaves master myMaster 192.168.137.101
:X Jun ::50.566 * +slave-reconf-sent slave 192.168.137.103: 192.168.137.103 @ myMaster 192.168.137.101
:X Jun ::51.333 * +slave-reconf-inprog slave 192.168.137.103: 192.168.137.103 @ myMaster 192.168.137.101
:X Jun ::52.382 * +slave-reconf-done slave 192.168.137.103: 192.168.137.103 @ myMaster 192.168.137.101
:X Jun ::52.438 # +failover-end master myMaster 192.168.137.101 #故障恢复完成
:X Jun ::52.438 # +switch-master myMaster 192.168.137.101 192.168.137.102 #master切换
:X Jun ::52.438 * +slave slave 192.168.137.103: 192.168.137.103 @ myMaster 192.168.137.102 #添加master从库
:X Jun ::52.438 * +slave slave 192.168.137.101: 192.168.137.101 @ myMaster 192.168.137.102 #添加master从库
:X Jun ::22.463 # +sdown slave 192.168.137.101: 192.168.137.101 @ myMaster 192.168.137.102 #发现192.168.137. 6379故障
5、配置多个哨兵,修改配置文件
sentinel monitor myMaster1 192.168.137.101
sentinel monitor myMaster2 192.168.137.101
sentinel monitor myMaster3 192.168.137.101 sentinel auth-pass myMaster1 master123
sentinel auth-pass myMaster2 master123
sentinel auth-pass myMaster3 master123
这里是配置3个哨兵,架构如下:

配置哨兵监控Redis运行情况的更多相关文章
- zabbix监控redis连接情况
配置zabbix客户端配置文件 vim /etc/zabbix/zabbix_agentd.conf 添加 Include=/etc/zabbix/zabbix_agentd.d/ 添加脚本对red ...
- 使用Zabbix官方模板监控Redis运行状况
运行环境: OS:CentOS 6.8 / Python: 2.6.6 / Pip: 7.1.0 / Redis:3.0 / Zabbix:3.0.3 Zabbix官方提供的监控模板. 项目地址:ht ...
- SpringMVC4+MyBatis+SQL Server2014+druid 监控SQL运行情况
前言 在基于SpringMVC+MyBatis的开发过程中,我们希望能看到自己手写SQL的执行情况,在开发阶段我们可以配置log4j在控制台里基于debug模式查看,那么上线后,在生产声我们想查看SQ ...
- Replication--修改复制代理配置来查看代理运行情况
1>在复制监视器中选中订阅右键 2>选择代理配置文件 3>将代理配置文件设置为”详细历史记录代理配置文件“,确定以保存 4>重启代理 5>代理运行一段时间后,重启代理 6 ...
- 使用jvisualvm工具来监控java运行情况
jvisualvm是jdk自带的工具.所以要先安装jdk 1.jvisualvm工具的路径: 通过which jvisualvm来查看 /usr/local/jdk1.7.0_79/bin/jvi ...
- 使用jconsole工具来监控java运行情况
参考:http://blog.163.com/lucas_nina/blog/static/185960149201493034258448/ 经验证OK jconsole是jdk自带的工具. ...
- jconsole工具监控java运行情况
jconsole是jdk自带的工具.所以要先安装jdk 1.jconsole工具的路径: 通过which jconsole来查看 /usr/local/jdk1.7.0_79/bin/jconsol ...
- 在Centos中部署redis运行状态图形化监控工具 — RedisLive
写在前面 前两天看到张善友老师的一篇文章<先定个小目标, 使用C# 开发的千万级应用>,里面给出了一张腾讯OA基础服务中redis运行情况的一张监控图,然后想到自己的项目中前不久也上了re ...
- redis运行状态图形化监控工具 — RedisLive
在Centos中部署redis运行状态图形化监控工具 — RedisLive 写在前面 前两天看到张善友老师的一篇文章<先定个小目标, 使用C# 开发的千万级应用>,里面给出了一张腾讯 ...
随机推荐
- powerDesignner连接数据库
http://hi.baidu.com/huntererpang/item/e65e1c48aa0ab50a6dc2f090 选用microsoft odbc for oracle 数据源名称:我喜欢 ...
- UVA 12338 - Anti-Rhyme Pairs(后缀数组+RMQ)
UVA 12338 - Anti-Rhyme Pairs 题目链接 题意:给定一些字符串,每次询问求出两个字符串的最长公共前缀的长度 思路:把字符串排序,就能求出height和rank数组,然后利用R ...
- 超越MySQL:三个流行MySQL分支的对比(转)
导读:尽管MySQL是最受欢迎的程序之一,但是许多开发人员认为有必要将其拆分成其他项目,并且每个分支项目都有自己的专长.该 需求以及Oracle对核心产品增长缓慢的担忧,导致出现了许多开发人员感兴趣的 ...
- python--网络编程--socket
网络通信标准---网络协议 互联网协议--osi七层协议 五层协议:应用层:应用层.表示层.会话层 传输层:传输层 网络层:网络层 数据链路层:数据链路层 物理层: ...
- 调用Camera返回为空的分析及处理方法
前言 大家可能遇到了这种情况.调用Camera,然后指定自己定义的保存路径,结果返回的Intent为空.我们来分析一下原因. 分析 首先看Camera的部分逻辑,在源代码中的Camera.java的d ...
- oracle 日志归档设置
下面介绍下oracle的日志文档操作 归档日志作用:归档日志(Archive Log)是是处于非活动(INACTIVE)的状态的重做日志文件的备份,它对ORACLE数据库的备份和恢复起至关重要的作用. ...
- Extjs-树 Ext.tree.TreePanel 动态加载数据
先上效果图 1.说明Ext.tree.Panel 控件是树形控件,大家知道树形结构在软件开发过程中的应用是很广泛的,树形控件的数据有本地数据.服务器端返回的数据两种.对于本地数据的加载,在extjs的 ...
- vue http 请求
https://github.com/vuejs/awesome-vue#http-requests vue-resource - npm https://www.npmjs.com/package/ ...
- Mac 操作系统安装 SVN server教程(Subversion With Mac OS X Tutorial)
Find recent articles on my github page: rubyrobot.github.io © 2006-2014 Imagine Ecommerce Subversion ...
- ORACLE函数之单行转换函数
1 ASCIISTR 格式:ASCIISTR(C) 说明:将字符串C转换为ASCII字符串,即将C中的ASCII字符保留不变,但非ASCII字符则以ASCII表示返回 举例: ...