Redis哨兵机制

Redis哨兵模式提供高可用性,当主库故障时,哨兵系统会通过投票选举出新主库,原从库连接新主库,确保服务连续性。在虚拟机环境中,通过配置sentinel.conf文件,可以模拟主从切换过程,并通过日志观察哨兵的故障转移操作。

一、什么是哨兵模式

我们知道Redis 在一个主库在对应多个从库的情况下,如果主库出了故障,那么所有的从库都会等待主库恢复,所这种情况是很危险的。哨兵模式是指如果主库出了故障,那么后台监控能够检查出该问题,从而在众多对应的从库中进行投票,产生新的主库,其余原主库的从库都会连接该主库,而不再与之前的主库相连接。

二、哨兵模式应用

因为是在一个虚拟机中进行演示,所以准备了三个Redis 服务,修改对应的文件,用来模拟三台主机。

需要新建一个sentinel.conf 文件,文件语法规则为:

 sentinel monitor 被监控数据库名字(自定义名字) 127.0.0.1 6379 票数

启用 redis-sentinel /myredis/sentinel.conf 启动哨兵

过程演示(只监视一个主库)

[1] 开启三个Redis 服务

[root@localhost bin]# ./redis-server /myredis/redis.conf 
[root@localhost bin]# ./redis-cli -p 6379
127.0.0.1:6379> 

root@localhost bin]# ./redis-server /myredis/redis6380.conf 
[root@localhost bin]# ./redis-cli -p 6380
127.0.0.1:6380>

[root@localhost bin]# ./redis-server /myredis/redis6381.conf 
[root@localhost bin]# ./redis-cli -p 6381
127.0.0.1:6381> 

[2] 将6380 端口与6381 端口对应的服务设置为6379 的从库

127.0.0.1:6380> SLAVEOF 127.0.0.1 6379
OK
127.0.0.1:6380> 

127.0.0.1:6381> SLAVEOF 127.0.0.1 6379
OK

//查看主库对应的从库信息,配置完成
127.0.0.1:6379> INFO REPLICATION
# Replication
role:master    //主库
connected_slaves:2    //对应两个从库,分别是6380 与6381
slave0:ip=127.0.0.1,port=6380,state=online,offset=90030,lag=1
slave1:ip=127.0.0.1,port=6381,state=online,offset=90030,lag=2
master_repl_offset:90030
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:90029

[3] 打开一个终端,在redis.conf 配置文件的目录下创建sentinel.conf 文件,用vim 打开进行如下配置

sentinel monitor host6379 127.0.0.1 6379 1 

[4] 开启哨兵,对应日志信息如下

[root@localhost bin]# ./redis-sentinel /myredis/sentinel.conf
*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 1
>>> 'entinel monitor host6379  127.0.0.1 6379 1'
Bad directive or wrong number of arguments
[root@localhost bin]# ./redis-sentinel /myredis/sentinel.conf 
8874:X 03 Jan 14:16:15.633 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 3.0.4 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in sentinel mode
 |`-._`-...-` __...-.``-._|
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值