2021年7月30日星期五

Redis 主库宕机如何快速恢复?面试必问!

目录

  • 什么是哨兵
  • 原理
  • 环境
  • 设置哨兵
  • 从宕机及恢复
  • 主宕机及恢复
  • 配置多个哨兵

1、什么是哨兵

哨兵是对Redis的系统的运行情况的监控,它是一个独立进程,功能有二个:

  • 监控主数据库和从数据库是否运行正常;
  • 主数据出现故障后自动将从数据库转化为主数据库;

2、原理

单个哨兵的架构:

多个哨兵的架构:

多个哨兵,不仅同时监控主从数据库,而且哨兵之间互为监控。

多个哨兵,防止哨兵单点故障。

3、环境

当前处于一主多从的环境中:

4、设置哨兵

启动哨兵进程首先需要创建哨兵配置文件:

vim sentinel.conf

输入内容:

sentinel monitor taotaoMaster 127.0.0.1 6379 1

说明:

  • taotaoMaster:监控主数据的名称,自定义即可,可以使用大小写字母和".-_"符号
  • 127.0.0.1:监控的主数据库的IP
  • 6379:监控的主数据库的端口
  • 1:最低通过票数

启动哨兵进程:

redis-sentinel ./sentinel.conf

由上图可以看到:

  • 哨兵已经启动,它的id为9059917216012421e8e89a4aa02f15b75346d2b7
  • 为master数据库添加了一个监控
  • 发现了2个slave(由此可以看出,哨兵无需配置slave,只需要指定master,哨兵会自动发现slave)

5、从宕机及恢复

kill掉2826进程后,30秒后哨兵的控制台输出:

2989:X 05 Jun 20:09:33.509 # +sdown slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 6379

说明已经监控到slave宕机了,那么,如果我们将3380端口的redis实例启动后,会自动加入到主从复制吗?

2989:X 05 Jun 20:13:22.716 * +reboot slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 63792989:X 05 Jun 20:13:22.788 # -sdown slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 6379

可以看出,slave从新加入到了主从复制中。-sdown:说明是恢复服务。

6、主宕机及恢复

哨兵控制台打印出如下信息:

2989:X 05 Jun 20:16:50.300 # +sdown master taotaoMaster 127.0.0.1 6379 说明master服务已经宕机2989:X 05 Jun 20:16:50.300 # +odown master taotaoMaster 127.0.0.1 6379 #quorum 1/1 2989:X 05 Jun 20:16:50.300 # +new-epoch 12989:X 05 Jun 20:16:50.300 # +try-failover master taotaoMaster 127.0.0.1 6379 开始恢复故障2989:X 05 Jun 20:16:50.304 # +vote-for-leader 9059917216012421e8e89a4aa02f15b75346d2b7 1 投票选举哨兵leader,现在就一个哨兵所以leader就自己2989:X 05 Jun 20:16:50.304 # +elected-leader master taotaoMaster 127.0.0.1 6379 选中leader2989:X 05 Jun 20:16:50.304 # +failover-state-select-slave master taotaoMaster 127.0.0.1 6379 选中其中的一个slave当做master2989:X 05 Jun 20:16:50.357 # +selected-slave slave 127.0.0.1:6381 127.0.0.1 6381 @ taotaoMaster 127.0.0.1 6379 选中63812989:X 05 Jun 20:16:50.357 * +failover-state-send-slaveof-noone slave 127.0.0.1:6381 127.0.0.1 6381 @ taotaoMaster 127.0.0.1 6379 发送slaveof no one命令2989:X 05 Jun 20:16:50.420 * +failover-state-wait-promotion slave 127.0.0.1:6381 127.0.0.1 6381 @ taotaoMaster 127.0.0.1 6379 等待升级master2989:X 05 Jun 20:16:50.515 # +promoted-slave slave 127.0.0.1:6381 127.0.0.1 6381 @ taotaoMaster 127.0.0.1 6379 升级6381为master2989:X 05 Jun 20:16:50.515 # +failover-state-reconf-slaves master taotaoMaster 127.0.0.1 63792989:X 05 Jun 20:16:50.566 * +slave-reconf-sent slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 63792989:X 05 Jun 20:16:51.333 * +slave-reconf-inprog slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 63792989:X 05 Jun 20:16:52.382 * +slave-reconf-done slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 63792989:X 05 Jun 20:16:52.438 # +failover-end master taotaoMaster 127.0.0.1 6379 故障恢复完成2989:X 05 Jun 20:16:52.438 # +switch-master taotaoMaster 127.0.0.1 6379 127.0.0.1 6381 主数据库从6379转变为63812989:X 05 Jun 20:16:52.438 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 6381 添加6380为6381的从库2989:X 05 Jun 20:16:52.438 * +slave slave 127.0.0.1:6379 127.0.0.1 6379 @ taotaoMaster 127.0.0.1 6381 添加6379为6381的从库2989:X 05 Jun 20:17:22.463 # +sdown slave 127.......

原文转载:http://www.shaoqun.com/a/894408.html

跨境电商:https://www.ikjzd.com/

淘粉吧:https://www.ikjzd.com/w/1725

二类电商:https://www.ikjzd.com/w/1457

bsci:https://www.ikjzd.com/w/2339


目录什么是哨兵原理环境设置哨兵从宕机及恢复主宕机及恢复配置多个哨兵1、什么是哨兵哨兵是对Redis的系统的运行情况的监控,它是一个独立进程,功能有二个:监控主数据库和从数据库是否运行正常;主数据出现故障后自动将从数据库转化为主数据库;2、原理单个哨兵的架构:多个哨兵的架构:多个哨兵,不仅同时监控主从数据库,而且哨兵之间互为监控。多个哨兵,防止哨兵单点故障。3、环境当前处于一主多从的环境中:4、设置
笨鸟转运:https://www.ikjzd.com/w/1550
泰山旅游攻略路线怎么走 泰山旅游登山路线及注意事项:http://www.30bags.com/a/425732.html
泰山旅游玩法看点:http://www.30bags.com/a/414826.html
泰山旅游有什么注意事项?:http://www.30bags.com/a/419655.html
泰山门票 :http://www.30bags.com/a/412745.html
在车上被强,嗯啊,不要 好厉害 在车上被闺蜜的老公抱起来强进入 嗯啊:http://lady.shaoqun.com/a/274853.html
打开腿闺蜜用黄瓜让我爽 和闺蜜一起磨豆腐的经历:http://lady.shaoqun.com/m/a/248347.html
男人最喜欢被㖭的地方 被进入的那一瞬间是什么感觉:http://lady.shaoqun.com/m/a/248224.html
【Lazada招商经理汇总】Lazada入驻开店卖家常见问题解答:https://www.ikjzd.com/articles/147053
爱情故事:南恋北恋(爱情短篇):http://lady.shaoqun.com/a/428566.html
美国两州税务设置更新:阿拉斯加州和科罗拉多州新增交易平台辖区将于2021年8月1日起生效:https://www.ikjzd.com/articles/147064
起底亚马逊的新杀招--封品牌!哪些操作会触发?:https://www.ikjzd.com/articles/147061

没有评论:

发表评论