MySQL Split-Brain的概念及其避免

概念:

以一个Cluster中有两个Data Node,Replica=2为例介绍。

一个NDB CLuster中有一个仲裁者(arbitrator)的角色,缺省是Management Node。当两个Data Node相互之间不能同步,但两个Data Node都是running状态的时候,Data Node会主动联系arbitrator,分为两种情况:

1. 如果Data Node不能联系到arbitrator,则该Data Node自动关闭;

2. 如果Data Node可以联系到arbitrator,则arbitrator从所有联系到arbitrator的选择一个Data Node作为继续服务的Data Node,然后通知其他Data Node关闭;

 

经典错误配置:

1. 2个Host,Host1上运行Mgm Node和Data Node,Host2上运行Data Node.

    可能存在的问题是当Host1 down掉以后,Host2上Data Node因为联系不到arbitrator,则Host2也会自动关闭。则整个Cluster不能工作;

2. 2个Host,Host1上运行Mgm Node和Data Node, Host2上运行Mgm Node和Data Node,Host1和Host2上Mgm Node同样配置.

    当Host1和Host2无法联系的时候,就会形成两个独立的Cluster.

 

你可能感兴趣的:(工作,mysql)