前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis集群的故障转移实现

Redis集群的故障转移实现

作者头像
用户1456517
发布2019-03-05 16:06:19
8640
发布2019-03-05 16:06:19
举报
文章被收录于专栏:芝麻实验室芝麻实验室

实验环境:

代码语言:javascript
复制
- Master:172.18.253.123 [node1]
- Slave:  172.18.254.57  [node2]
- Slave:  172.18.254.75  [node3]

配置主从复制环境

  • 构建Redis集群自动故障转移的前提是已配置主从复制环境,相关内容请参见 Redis主从复制

配置主节点

  • 启用监听,并启动主节点上的redis-sentinel即可
代码语言:javascript
复制
[root@node1 ~]# vim /etc/redis-sentinel.conf
bind 0.0.0.0 #默认只监听了本机的26379端口,需手动监听同外部的通信地址
sentinel monitor mymaster 172.18.253.123 6379 2 #定义故障转移集群名(此处为mymaster), 主从集群中的主节点地址, 2表示一共有3个拥有投票权的主机,必须≥2才算有效,以此类推(参与投票的主机数必须为奇数)
sentinel auth-pass mymaster guomai #故障转移集群的认证密码
sentinel down-after-milliseconds mymaster 30000 #主节点异常状态持续多久判定为故障状态
sentinel parallel-syncs mymaster 1  #能够被sentinel并行配置的最大从主机数量
sentinel failover-timeout mymaster 180000 #故障转移超时时长
logfile /var/log/redis/sentinel.log

[root@node1 ~]# scp /etc/redis-sentinel.conf root@172.18.254.75:/etc/
[root@node1 ~]# scp /etc/redis-sentinel.conf root@172.18.254.57:/etc/
[root@node1 ~]# systemctl start redis redis-sentinel.service
[root@node1 ~]# ss -tnlp |grep redis*
LISTEN     0      128     *:26379     *:*     users:(("redis-sentinel",pid=11230,fd=4))
LISTEN     0      128     *:6379      *:*     users:(("redis-server",pid=11037,fd=4))

配置从节点

root@node2 ~# systemctl restart redis-sentinel

root@node3 ~# systemctl restart redis-sentinel

检查故障转移关系

root@node2 ~# redis-cli -h 172.18.253.123 -p 26379 #远程登录Master

172.18.253.123:26379> SENTINEL MASTERS

172.18.253.123:26379> SENTINEL SLAVES mymaster

测试

root@node1 ~# systemctl stop redis #将主节点的Redis服务停止

稍等片刻再次查看

172.18.253.123:26379> SENTINEL MASTERS #查看所有集群的主节点信息

172.18.253.123:26379> SENTINEL slaves mymaster #查看特定集群的从节点信息

修复故障节点

root@node1 ~# vim /etc/redis.conf

slaveof 172.18.254.75 6379

masterauth guomai

root@node1 ~# systemctl restart redis

root@node2 ~# redis-cli -h 172.18.253.123 -p 26379


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/11/29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档