我必须在AWS区域中设置一个ElasticSearch集群,该集群只有2个可用区域。
我想这样做以便在一个区域变得不可用时群集仍能正常工作。这意味着它接受读写并且不会进入“裂脑”模式。
我知道我必须考虑minimum_master_nodes
设置,但我发现如何仅仅跨越2个区域分配符合条件的主节点是非常棘手的(3个区域会更容易)。
答案 0 :(得分:2)
实际上只有一种方法可以跨两个可用区域管理集群:您必须对其进行设置,以便您可以在一个区域出现故障但不能在另一个区域出现故障。换句话说,您不应该设置主节点,以便双方在彼此断开连接时能够存活,因为您将保证裂脑情况,这将导致一些数据丢失。
假设您有3个符合条件的主节点,您应该将两个主人放在一个区域(历史上更强大的一个) - 让我们称之为区域A - 和另一个区域的一个主人 - 让我们称之为B区。
您还可以设置一个备用主节点,该节点在区域B中保持配置并关闭电源,因此如果区域A已经“消失”,则#34;然后可以启动其他主设备以维持最佳最小主设备(意味着2)并允许群集继续运行。别无他法。