Redis4.0.6高可用性方案配置--sentinel(哨兵)机制
-
资源ID:37200788
资源大小:654.58KB
全文页数:10页
- 资源格式: PDF
下载积分:10金贝
快捷下载
账号登录下载
微信登录下载
微信扫一扫登录
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
|
下载须知 | 常见问题汇总
|
Redis4.0.6高可用性方案配置--sentinel(哨兵)机制
Redis4.0.6 高可用性方案高可用性方案配置配置 - sentinel(哨兵)机制(哨兵)机制 李雪锋 华东师范大学信息化办公室 2017/12/30 1.sentinel 基本功能 Redis-Sentinel 是 Redis 官方推荐的高可用性(HA)解决方案。实际上这意味着 你可以使用 Sentinel 模式创建一个可以不用人为干预而应对各种故障的 Redis 部署。它的主要功能有以下几点 (1)监控:Sentinel 不断的检查 master 和 slave 是否正常的运行。 (2)通知:如果发现某个 redis 节点运行出现问题,可以通过 API通知系统管 理员和其他的应用程序。 (3)自动故障转移:能够进行自动切换。当一个 master 节点不可用时,能够 选举出从属于该 master 的多个 slave 中的一个来作为新的 master,其它的 slave 节点会将它所追随的 master 的地址改为被提升为 master 的 slave 的新地址。 (4)配置提供者:sentinel(哨兵)作为 Redis 客户端发现的权威来源:客户 端通过连接到哨兵来请求当前可靠的 master 的地址。如果角色 master 的 redis 发生故障,哨兵将报告新 master 地址。此处可以理解为对外提供的是哨兵地址 (ip+端口) 2.redis 主从复制+sentinel 架构配置 服务器 redis 端口 角色 sentinel 端口 192.168.105.232 6379 master 26379 192.168.105.233 6379 slave 26379 192.168.105.234 6379 slave 26379 具体配置如下: 2.1redis 主从配置 具体参考 RHEL6.8 上 redis4.0.6 安装、主从复制配置.pdf 2.2sentinel 架构配置 (1)配置每台服务器上的 sentinel 的配置文件(/software/redis- 4.0.6/sentinel.conf) 1)针对主机 192.168.105.232,配置如下 daemonize yes pidfile /var/run/sentinel.pid bind 192.168.105.232 port 26379 sentinel monitor xfli1_redis 192.168.105.232 6379 2 sentinel auth-pass xfli1_redis xfli sentinel down-after-milliseconds xfli1_redis 60000 sentinel failover-timeout xfli1_redis 180000 sentinel parallel-syncs xfli1_redis 1 2)针对主机 192.168.105.233,配置如下 daemonize yes pidfile /var/run/sentinel.pid bind 192.168.105.233 port 26379 sentinel monitor xfli1_redis 192.168.105.232 6379 2 sentinel auth-pass xfli1_redis xfli sentinel down-after-milliseconds xfli1_redis 60000 sentinel failover-timeout xfli1_redis 180000 sentinel parallel-syncs xfli1_redis 1 3)针对主机 192.168.105.234,配置如下 daemonize yes pidfile /var/run/sentinel.pid bind 192.168.105.234 port 26379 sentinel monitor xfli1_redis 192.168.105.232 6379 2 sentinel auth-pass xfli1_redis xfli sentinel down-after-milliseconds xfli1_redis 60000 sentinel failover-timeout xfli1_redis 180000 sentinel parallel-syncs xfli1_redis 1 2.3redis 与 sentinel 启动与登录 snetinel 的状态会被持久化地写入 sentinel 的配置文件中。每次当收到一个新 的配置时,或者新创建一个配置时,配置会被持久化到硬盘中,并带上配置的 版本戳。这意味着,可以安全的停止和重启 sentinel 进程。 启动 redis rootxfli1 src# ./redis-server /software/redis-4.0.6/redis.conf rootxfli2 src# ./redis-server /software/redis-4.0.6/redis.conf rootxfli3 src# ./redis-server /software/redis-4.0.6/redis.conf 启动 sentinel rootxfli1 src# ./redis-sentinel /software/redis-4.0.6/sentinel.conf rootxfli2 src# ./redis-sentinel /software/redis-4.0.6/sentinel.conf rootxfli3 src# ./redis-sentinel /software/redis-4.0.6/sentinel.conf 查看 redis 与 sentinel 进程 redis 与 sentinel 登录 我们以 xfli1 为例 Redis 登录 sentinel 登录 2.4sentinel 查看 在主机 xfli1 上登录 sentinel,查看 sentinel 状态 可以看到监控的 master 的 redis 以及 slave 的数量,sentinel 的数量 2.5 故障测试及配置修改 在接下来我们将模拟两种类型的故障,一种是角色为 master 的 redis 故障,但 位于同一台机器上的 sentinel 正常;另一种是角色为 master 的 redis 和位于同 一台机器上的 sentinel 同时故障。但这两种测试中都会导致主从切换,从 slave 中重新选出 master 来,保障业务的稳定正常运行。 2.5.1 角色为 master 的 redis 故障,但位于同一台机器上的 sentinel 正常 >>*在这种故障中,整体的切换流程如下:在这种故障中,整体的切换流程如下: (1)每台服务器上的 sentinel 侦测到 master 不可用(SDOWN) (2)每台服务器上的 sentinel 经过沟通交流后,确定 master 主机不可用 (ODOWN),并且达到触发 failover 的票数。 (3)推选出执行 failover 的 sentinel,本案例中选举位于主机 192.168.105.233 上的 sentinel 执行 failover,并获得大多数授权。 (4)从 slave 中选举新的 master,本案例中选举 192.168.105.234 作为 master。同时将位于 192.168.105.232 和 192.168.105.233 上的 redis 的角色 更改为 slave。 在这个过程中,还触发以下修改:在这个过程中,还触发以下修改: 1)每一个 sentinel 的配置文件中 sentinel monitor xfli1_redis 192.168.105.232 6379 2 将自动更改为 sentinel monitor xfli1_redis 192.168.105.234 6379 2; 2)位于 192.168.105.234 上的 redis 配置文件中将自动删除 slaveof 192.168.105.232 6379; 3)位于 192.168.105.233 上的 redis 配置文件中将自动将 slaveof 192.168.105.232 6379 更改为 slaveof 192.168.105.234 6379 (5)当位于 192.168.105.232 上的 redis 启动后,自动更改 redis 的配置文 件,重新设定需要同步新的 master 的地址。自动更改: slaveof 192.168.105.234 6379 注:注:232 上的上的 redis 配置文件的更改是在配置文件的更改是在 redis 启动后才更改的。启动后才更改的。 >>*详细故障模拟及配置修改详细故障模拟及配置修改 目前角色为 master 的 redis 位于 192.168.105.232,我们通过 kill 掉 master, 来模拟 master 故障,来看一下 redis 的故障转移。 kill*掉掉 master,模拟,模拟 master 故障故障 观察三台主机上的观察三台主机上的 sentinel 的日志的日志 1)观察主机 192.168.105.232 more /var/log/sentinel.log 2)观察主机 192.168.105.233 3)观察主机 192.168.105.234 此时角色为 master 的 redis 切换为 192.168.105.234 接下来我们启动接下来我们启动 192.168.105.232 上的上的 redis 服务服务 查看复制信息 此时 192.168.105.232 上的 redis 处于 slave 状态,但成功连接 master。启动 redis 后系统自动修改本机的 redis 的配置文件,配置好需要同步的新的 master。 slaveof 192.168.105.234 6379 2.5.2 角色为 master 的 redis 和位于同一台机器上的 sentinel 同时故障 >>*在这种故障中,整体的切换流程如下:在这种故障中,整体的切换流程如下: (1)105.232 和 233 这两台服务器上的 sentinel 侦测到在主机 105.234 上的 master 和 sentinel 不可用(SDOWN) (2)105.232 和 233 这两台服务器上的 sentinel 经过沟通交流后,确定在主机 105.234 上的 master 和 sentinel 不可用(ODOWN),并且达到触发 failover 的票数 2。 (3)推选出执行 failover 的 sentinel,本案例中选举位于主机 192.168.105.233 上的 sentinel 执行 failover,并获得大多数授权。 (4)从 slave 中选举新的 master,本案例中选举 192.168.105.233 作为 master。同时将位于 192.168.105.232 和 192.168.105.234 上的 redis 的角色 更改为 slave。 在这个过程中,还触发以下修改:在这个过程中,还触发以下修改: 1)位于主机 232 和 233 上的 sentinel 的配置文件中 sentinel monitor xfli1_redis 192.168.105.234 6379 2 将自动更改为 sentinel monitor xfli1_redis 192.168.105.233 6379 2; 2)位于 192.168.105.233 上的 red