【问题标题】:How many master in three node cluster三节点集群有多少个master
【发布时间】:2015-05-05 02:45:11
【问题描述】:

我偶然发现了一个三节点集群中可以有多少个主节点的问题。 I came across this point in one of a article on internet that search and index requests are not to be sent to elected master.那是对的吗? So , if i have three nodes acting as master(out of which one node is elected master) should i point out incoming logs to be indexed and searched onto other master nodes apart from elected master?Please clarify.Thanks in advance

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    在三节点集群中,所有节点最有可能保存数据并且是主节点。这是最简单的情况,您不必担心其他任何事情。

    如果您有一个更大的集群,您可以拥有几个配置为专用主节点的节点。也就是说,它们是合格的,并且它们不保存任何数据。例如,您将拥有 3 个专用主节点和 7 个数据节点(不符合主节点资格)。 Exactly one of the dedicated master nodes will always be the elected master.

    关键是由于专用主节点不保存数据,它们不会直接服务索引和搜索请求。如果您向他们发送索引或搜索请求,他们除了委托给 7 个数据节点之一之外别无他法。

    来自Elasticsearch Reference for Modules - Node

    dedicated master 节点是设置 node.data: false 的节点 和node.master:是的。我们积极推广使用专用主 关键集群中的节点,以确保有 3 个专用 唯一角色是主节点的节点,一个轻量级的操作 (集群管理)责任。通过减少量 这些节点所做的资源密集型工作(换句话说,不 向这些专用主节点发送索引或搜索请求),我们 大大减少集群不稳定的机会。

    一个相关的问题是集群中应该有多少个主节点。答案基本上是至少 3 以防止脑裂(由于网络错误,同时选举两个 master 的情况)。

    Elasticsearch Guide has a section on Minimum Master Nodes,摘录:

    当您出现脑裂时,您的集群就有丢失数据的危险。 因为大师被认为是集群的最高统治者,它 决定何时可以创建新索引、如何移动分片等等 向前。如果你有两个 master,数据完整性就会变得很危险,因为 你有两个节点认为他们负责。

    这个设置告诉 Elasticsearch 不选举主节点,除非有 有足够的可用主节点。只有这样才能举行选举 发生。

    此设置应始终配置为 您的主合格节点。法定人数是(符合主资格的人数 节点 / 2) + 1。这里有一些例子:

    • 如果你有十个常规节点(可以保存数据,可以成为主节点),一个 法定人数为 6。
    • 如果您有 3 个专用主节点和 100 个数据节点,则法定人数为 2,因为您只需计算符合主节点资格的节点。
      • 如果您有两个常规节点,那么您就遇到了难题。法定人数为 2,但这意味着失去一个节点将 使您的集群无法运行。设置为 1 将允许您的集群 发挥作用,但不能防止脑裂。最好是 在这种情况下至少有三个节点。

    【讨论】:

    • 该文档的链接似乎不可用或已更改。考虑到elasticsearch 的日期和当前版本,我认为最接近预期链接的表示可能是here for ES7。但是,假设日期,可能引用了 ES6,在这种情况下,我相信它是 here
    猜你喜欢
    • 2016-06-26
    • 2019-09-28
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多