【问题标题】:Elasticsearch cluster configuration in an AWS region with only two availability zones仅具有两个可用区的 AWS 区域中的 Elasticsearch 集群配置
【发布时间】:2016-04-25 21:34:23
【问题描述】:

我必须在只有 2 个可用区的 AWS 区域中设置 ElasticSearch 集群。

我想让它在一个区域变得不可用的情况下,集群仍然可以正常工作。这意味着它接受读取和写入,并且不会进入“裂脑”模式。

我知道我必须考虑 minimum_master_nodes 设置,但我发现如何将符合条件的主节点仅分布在 2 个区域中很棘手(如果有 3 个区域会更容易)。

【问题讨论】:

    标签: amazon-web-services elasticsearch


    【解决方案1】:

    实际上只有一种方法可以跨两个可用区管理集群:您必须对其进行设置,以便您可以在一个区域出现故障时幸免于难,而在另一个区域中则不行。换句话说,您不应该设置您的主节点,以便双方在彼此断开连接时都能生存,因为您将保证出现裂脑情况,这将导致一些数据丢失。

    假设您有 3 个符合条件的主节点,您应该将 两个主节点放在一个区域(历史上更健壮的那个) - 我们称之为区域 A - 一个主节点在其他区域 - 我们称之为 B 区。

    您还可以在区域 B 中设置一个保持配置并关闭电源的备用主节点,因此如果区域 A “消失”,则可以启动另一个主节点以维持最佳的最小主节点(意思是 2)和允许集群继续运行。没有其他办法。

    【讨论】:

    • 谢谢安德烈。这真的很有帮助。
    • 所以你的意思是,在 2 个可用区中有 3 个合格的主控,你只能选择 A)零容错(最小主控 2),或 B)脑裂(最小主控1)?所以你还不如只有 1 个主节点?
    • 其实我最近突然想到,你可以有一个数据节点也可以作为主节点。因此,在可用区 1 中,我们有 2 个节点(一个主节点和一个主节点+数据节点),在区域 2 中,他有 2 个节点(一个主节点和一个数据节点)。 @Andrei,你认为这会怎样?
    猜你喜欢
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    相关资源
    最近更新 更多