redis 哨兵模式简单部署及使用

  之前工作中被领导问到redis哨兵集群等问题,原来只停留在理论上,一直没时间实践(借口),实践才出真知,今天早上抽出了一点时间实下。

  一、准备条件:

1.我是win7,所以需要vmware14“学习版”(有钱还是要支持正版),操作系统选自己喜欢的

2.redis-3.2.5.tar.gz  一台服务器上部署三个:一主(6381)两从(6382,6383),三个 sentinel 检测主节点(26381,26382,26383),不模拟不同服务器上的了,其实是一样的,换ip端口,改配置文件。。。

  二、安装部署

1.第一个redis-6381.conf(redis两种备份模式根据自己应用场景,自信选择。redis-6382.conf,redis-6383.conf类似)

port 6381
daemonize yes
logfile "6381.log"
dbfilename "dump-6381.rdb"
dir "/var/redis/data/"

2.启动三个实例,以下为了方便都没有采用后台启动

# redis-server  redis-6381.conf
# redis-server  redis-6382.conf
# redis-server  redis-6383.conf

3.三个哨兵配置文件:redis-26381.conf,redis-26382.confi,redis-26383.conf

port 26381 
dir /var/redis/data/
logfile "26381.log"

sentinel monitor qsmaster  127.0.0.1 6381 2
sentinel down-after-milliseconds qsmaster 30000
sentinel parallel-syncs qsmaster 1
sentinel failover-timeout qsmaster 180000
daemonize yes 

4.启动三个哨兵实例

# redis-sentinel redis-26381.conf 
# redis-sentinel redis-26382.conf 
# redis-sentinel redis-26383.conf

5.模拟实践

(1)杀死6381节点的redis

(2)稍等一会查看

# redis-cli -p 26381 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=qsmaster,status=ok,address=127.0.0.1:6382,slaves=2,sentinels=3

细心的会发现怎么还是2个节点呢,这是因为6381被杀死,但是不会立即客观下线,因为咋们配置的down-after-milliseconds为30秒,quorum为2,当主节点被其中一个从节点判断为主观下线后,将会通知其他节点进行判断,当投票(啰嗦一嘴,很多集群分布式都是采用这种方式,合理)超过2时,将会下线。

(3)重启6381,可以看到6381变成6382的从节点

slave0:ip=xxx,port=6383,state=online
slave1:ip=xxx,port=6381,state=online

 

结束语:

好了,到目前为止,咋们简单地介绍了哨兵的作用:监控、故障转移、通知等,接下来的博客将会介绍java连接访问哨兵,还有cluster(有时间再写☺)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值