故障转移时会从剩下的slave选举一个新的master,被选举为master的标准是什么?

如果一个master被认为odown了,而且majority哨兵都允许了主备切换,那么某个哨兵就会执行主备切换操作,此时首先要选举一个slave来,会考虑slave的一些信息。

1、跟master断开连接的时长。

如果一个slave跟master断开连接已经超过了down-after-milliseconds的10倍,外加master宕机的时长,那么slave就被认为不适合选举为master.

( down-after-milliseconds * 10) + milliseconds_since_master_is_in_SDOWN_state

2、slave优先级。

按照slave优先级进行排序,slave priority越低,优先级就越高

3、复制offset。

如果slave priority相同,那么看replica offset,哪个slave复制了越多的数据,offset越靠后,优先级就越高

4、run id

如果上面两个条件都相同,那么选择一个run id比较小的那个slave。

发表评论

后才能评论