ElasticSearch集群设计帮助-数据节点

时间:2018-07-06 13:02:07

标签: elasticsearch cluster-computing

我一直在阅读ES群集设计,并开始设计所需的群集。请有人可以澄清一些我仍然不清楚的事情吗?

所以我们想从3台服务器开始。

在开始时,我们将全部三个作为Master,Data和Ingest,最少两个Master。这基本上意味着,我们坚持默认设置。

问题1是-确切的数据节点是什么?是否在其他数据节点之间复制了完整索引?因此,如果发生故障,在我们的情况下,应该将第三个升级为主服务器,并且集群应该可以正常工作。

找到此链接Shards and replicas in Elasticsearch,它说明了什么是数据节点。因此,基本上,如果我们的索引具有12个分片,则可能是ES将在每个数据节点上存储4个主分片和8个副本。这是正确的吗?

问题2:以此为起点,我们是否可以添加更多服务器以用作数据节点,摄取节点等。

问题3:我们在ES节点之前设置了负载均衡器,这是在9200上访问ES群集的推荐方法。提取时,应使用该地址,并将其随机路由到提取节点。查询时,它应该路由到可以处理搜索的随机ES节点。

1 个答案:

答案 0 :(得分:1)

  

什么是数据节点?

分片的磁盘。

  

是否已在其他数据节点之间复制完整索引?

是的,副本也同样意味着可用性,了解分片的概念是理解这一点的关键,不要感到困惑。

  

在我们的案例中,第三个应该升级为主服务器,并且集群应该可以正常工作。

是的,请阅读有关绿色,黄色和红色状态的信息,在这种情况下,它将由绿色变为黄色,这意味着它仍在运行,但需要采取措施,但请阅读有关“主要资格”的信息,并避免头脑分裂,很重要。 https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html#master-node

  

以此为起点,我们是否可以添加更多服务器以用作数据节点,摄取节点等?

任意多,应用程序要求是什么?高读低写?反之亦然?等于?根据用例定义要如何扩展群集。

  

问题3:我们在ES节点之前设置了负载均衡器,这是在9200上访问ES群集的推荐方法。提取时,应使用该地址,并将其随机路由到提取节点。查询时,它应该路由到可以处理搜索的随机ES节点。

例如,如果它是nginx,它就可以工作了,因为我已经做到了,对节点角色的概念有清楚的了解,例如,“协调节点”将处理某些请求可能会处理的流程require和nginx不知道。

IMO现在有了实例,这是一个很好的机会,您可以边做边做并进行实验,因此移动配置,尝试重现应用程序可能遇到的问题,看看会发生什么,哈哈!片刻将要发生,并且完全掌握了这里。