elasticsearch - 我可以使用多个" master"节点?为什么?

时间:2014-04-20 22:32:01

标签: elasticsearch

我可以将多个节点用作群集主服务器吗?

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

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

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使用。

3 个答案:

答案 0 :(得分:9)

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

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

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

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

答案 1 :(得分:3)

您不能在群集中运行多个主服务器,但是您可以设置多个节点,以便在当前主服务器关闭时可以将它们选为主服务器。

See also the discovery.zen.minimum_master_nodes setting了解更多信息。在那里你还可以发现,有一个可选择的主节点比2更好(你应该有1或3 +)。

答案 2 :(得分:-6)

  

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

是的,您绝对可以使用多个主服务器来避免在主节点发生故障时群集关闭

  

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

尽管所有数据节点都运行良好,但如果主服务器出现故障,可以避免完全集群故障。

  

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