本文摘自PHP中文网,作者Guanhui,侵删。

Redis 哨兵模式原理
哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行、其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。
Linux - redis哨兵集群实例
命令整理
官网地址:http://redisdoc.com/
1 2 3 | redis-cli info #查看redis数据库信息
redis-cli info replication #查看redis的复制授权信息
redis-cli info sentinel #查看redis的哨兵信息
|
配置流程
思路:
redis主从
一主两从的方案
1.环境准备,准备一主两从的redis架构
redis-6379.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"
dir "/opt/redis/6379/"
redis-6380.conf
port 6380
daemonize yes
logfile "6380.log"
dbfilename "dump-6380.rdb"
dir "/opt/redis/6380/"
slaveof 127.0.0.1 6379
redis-6381.conf
port 6381
daemonize yes
logfile "6381.log"
dbfilename "dump-6381.rdb"
dir "/opt/redis/6381/"
slaveof 127.0.0.1 6379
|
2.准备三个数据文件夹
1 | mkdir -p /opt/redis/{6379,6380,6381}
|
3。分别启动三个数据库
1 2 3 | [root@master sbredis] # redis-server redis-6379.conf
[root@master sbredis] # redis-server redis-6380.conf
[root@master sbredis] # redis-server redis-6381.conf
|
4.检测主从状态
1 2 3 | redis-cli -p 6379 info replication
redis-cli -p 6380 info replication
redis-cli -p 6381 info replication
|
5.准备三个redis哨兵,进行检测主从状态
准备三个哨兵的配置文件
redis-26379.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | port 26379
dir / var /redis/data/
logfile "26379.log"
sentinel monitor mymaster 192.168.119.10 6379 2
sentinel down-after-milliseconds mymaster 30000
原来的从节点会向新的主节点发起复制操作,限制每次向新的主节点发起复制操作的从节点个数为1
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
redis-26380.conf
port 7000
daemonize yes
dir "/opt/data"
logfile "7000.log"
dbfilename "dump-7000.rdb"
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster- require -full-coverage no
redis-26381.conf
|
三个配置文件,仅仅是端口的不同,通过命令快速生成配置文件
1 2 | [root@master sbredis] # sed "s/26379/26380/g" redis-26379.conf > redis-26380.conf
[root@master sbredis] # sed "s/26379/26381/g" redis-26379.conf > redis-26381.conf
|
6.分别启动三个哨兵
1 2 3 | [root@master sbredis]# redis-sentinel redis-26379.conf
[root@master sbredis]# redis-sentinel redis-26380.conf
[root@master sbredis]# redis-sentinel redis-26381.conf
|
7.检测哨兵,主从状态
1 | redis-cli -p 26379 info sentinel
|
看到如下信息,就和我一样了
1 2 3 4 5 6 7 8 | [root@master sbredis]# redis-cli -p 26379 info sentinel
Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=s17ms,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=3
|
8.测验,干掉master redis,是否自动切换
1 2 3 | ps -ef|grep redis
kill 进程
..
|
9.再次启动redis 6379 查看它是否加入 主从集群
1 | redis-server redis-6379.conf
|
推荐教程:《Redis教程》
以上就是Redis 哨兵模式原理的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
如何使用Redis实现排行榜功能
Redis怎么通过命令行批量删除key
Redis内存满了解决方法
Redis是什么东西
Redis单线程为什么效率高
Redis中的scan命令的使用详解
Redis如何修改默认密码
Redis和memcached的优缺点及区别介绍
什么是Redis读写分离
Redis 模糊匹配 searchkeys
更多相关阅读请进入《Redis》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » Redis 哨兵模式原理