【问题标题】:elasticsearch - can I use multiple "master" nodes? why?elasticsearch - 我可以使用多个“主”节点吗?为什么?
【发布时间】:2017-04-13 20:42:59
【问题描述】:

我可以使用多个节点作为集群主节点吗?

我为什么要这样做?也许是为了分发查询?

另一个问题:主节点可以是比数据节点最小的机器吗? 我当前的集群是:

n1 - 8gb ram, 4 cpu - (x) master - ( ) data
n2 - 4gb ram, 2 cpu - ( ) master - (x) data
n3 - 4gb ram, 2 cpu - ( ) master - (x) data
n4 - 4gb ram, 2 cpu - ( ) master - (x) data
n5 - 4gb ram, 2 cpu - ( ) master - (x) data

我所有的查询都发送到 N1,我在 HTOP 中看到主节点总是很容易,并且新的 CPU/RAM 使用率和数据节点获得了大部分 cpu/ram 使用率。

【问题讨论】:

标签: elasticsearch


【解决方案1】:

答案 1) 您不能拥有多个主节点。

答案 2) 假设您有 3 个节点 n1、n2 和 n3,它们都包含数据,当前 n1 被选为主节点。如果您在 n2 节点中查询,则查询将分发到索引的所有相应分片[副本分片或主分片]。每个分片的结果被合并并返回给您(请参阅query phase docs)。

不必通过主节点分发查询。任何节点数据或主节点或非数据节点都可以充当路由器[分发搜索查询]。

答案 3) 是的,如果节点不包含数据,则主节点可以很小,因为它不需要处理数据管理。它唯一的工作是将查询路由到相应的节点并将结果返回给您。如果主节点包含数据,那么您应该拥有比数据节点更多的配置,因为它有 2 个作业 [数据管理,路由查询]..

【讨论】:

  • elastic.co/guide/en/elasticsearch/reference/current/…不是说可以有多个master吗?具体来说“我们积极推动在关键集群中使用专用主节点,以确保有 3 个专用节点,其唯一角色是主节点”
  • @JacobGillespie 标记为 master:true 的节点将是“符合条件的主节点”,但一次只能选出一个主节点。我们目前使用 3 个 master:true 和 30 个“仅数据”节​​点运行,同时在所有节点上指定 minimum_master_nodes=2。
【解决方案2】:

你不能在一个集群中运行多个主节点,但是你可以设置多个节点,这样当当前主节点宕机时,它们可以被选为主节点。

See also the discovery.zen.minimum_master_nodes setting 以获得更多解释。在那里您还可以发现拥有 1 个可选主节点比拥有 2 个更好(您应该拥有 1 个或 3 个以上)。

【讨论】:

    【解决方案3】:

    我可以使用多个节点作为集群主节点吗?

    是的,你绝对可以使用多个master来避免集群在master节点故障的情况下关闭

    我为什么要这样做?也许用于分发查询?

    为了避免在所有数据节点都运行良好的情况下主节点出现故障时集群完全失败。

    另一个问题:主节点可以是比数据节点最小的机器吗?我当前的集群是:

    是的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-03
      • 2021-12-04
      • 1970-01-01
      相关资源
      最近更新 更多