我有一个3节点集群minimum_master_nodes设置为2.如果我关闭除主服务器之外的所有节点,使一个节点保持联机状态,则群集将不再运行.
这是设计的吗?似乎作为主节点的节点应该保持运行,而是我得到这样的错误:
{"error":"MasterNotDiscoveredException[waited for [30s]]","status":503}
Run Code Online (Sandbox Code Playgroud)
所有其他设置都是库存,我正在使用aws云插件.
是的,这是故意的.
想象一下,其他2个节点仍在运行但无法与第三个节点通信的情况 - 您最终会得到两个群集,也称为"裂脑".
由于两个集群可能彼此独立地更新和删除数据,因此恢复将非常困难 - 您不会拥有单一的数据来源.
通过设置minimum_master_nodes为(n/2)+1 (n是节点数),您可以防止裂脑.
如果您知道前两个节点肯定已经死亡而没有返回 - 您可以minimum_master_nodes在剩余节点上将其设置为1(并在重新启动之前在其他节点上也设置为1).
还有一个选项没有主块可以让您控制在没有有效群集时会发生什么 - 例如,您可以将剩余节点设置为只读,直到重新建立群集为止.
| 归档时间: |
|
| 查看次数: |
2177 次 |
| 最近记录: |