Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 使用不同容量的机器(CPU、RAM)配置弹性搜索群集以进行滚动升级_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Configuration_High Availability - Fatal编程技术网 elasticsearch 使用不同容量的机器(CPU、RAM)配置弹性搜索群集以进行滚动升级,elasticsearch,configuration,high-availability,elasticsearch,Configuration,High Availability" /> elasticsearch 使用不同容量的机器(CPU、RAM)配置弹性搜索群集以进行滚动升级,elasticsearch,configuration,high-availability,elasticsearch,Configuration,High Availability" />

elasticsearch 使用不同容量的机器(CPU、RAM)配置弹性搜索群集以进行滚动升级

elasticsearch 使用不同容量的机器(CPU、RAM)配置弹性搜索群集以进行滚动升级,elasticsearch,configuration,high-availability,elasticsearch,Configuration,High Availability,由于成本限制,我只能使用以下类型的机器来设置ES群集 节点A:精益(w.r.t.CPU、RAM)实例 节点B:Beefy(w.r.t.CPU、RAM)实例 节点M:“比”(w.r.t.CPU、RAM)实例更精简 就磁盘而言,A和B的大小相同 我的计划是将节点A和节点B设置为主合格节点,将数据节点和节点M设置为仅主合格节点(无数据存储)。 由于这两个数据节点不相同,其含义是什么 我将把它变成一个由3台机器组成的集群,仅用于滚动升级的可能性(当前数据量和未来几年的预期增长可以通过垂直扩展进行管理,保

由于成本限制,我只能使用以下类型的机器来设置ES群集

  • 节点A:精益(w.r.t.CPU、RAM)实例
  • 节点B:Beefy(w.r.t.CPU、RAM)实例
  • 节点M:“比”(w.r.t.CPU、RAM)实例更精简
  • 就磁盘而言,A和B的大小相同

    我的计划是将节点A和节点B设置为主合格节点,将数据节点和节点M设置为仅主合格节点(无数据存储)。 由于这两个数据节点不相同,其含义是什么


    我将把它变成一个由3台机器组成的集群,仅用于滚动升级的可能性(当前数据量和未来几年的预期增长可以通过垂直扩展进行管理,保留默认数量的碎片和副本将使我能够在需要时水平扩展)

    您的机器绝对不需要有相同的规格。您将需要3个符合条件的主节点,不仅用于滚动升级,而且通常用于高可用性

    如果要水平扩展,可以创建更多索引来保存数据,或者将索引配置为具有多个主碎片和/或副本碎片。从版本7开始,新索引的默认设置是使用1个主碎片和1个副本碎片创建。像这样的单个索引实际上不允许您进行水平调度

    更新:

    关于负载和碎片分配(在哪里放置数据),默认情况下的弹性搜索将简单地考虑可用的存储量。启动Elasticsearch实例时,它会检查硬件并相应地为各种任务配置其线程池(线程数和队列大小)。因此,处理任务的可用线程数量可能会有所不同。如果我没有弄错的话,协调节点(接收外部请求的节点)将以循环方式分发索引/写入请求,而不考虑负载。根据您的Elasticsearch版本,这与搜索/读取请求不同,协调节点将利用自适应副本选择,并在分发请求时考虑各种副本的加载/响应时间

    除此之外,规模和扩展是一个太复杂的话题,无法用简单的回答来全面回答。它通常还包括测试,以确定单个节点的限制/边界


    顺便说一句:在Elasticsearch的v7.x版本中,默认主碎片的数量发生了变化,因为过多的超刻度是Elasticsearch用户面临的最常见问题之一。“合理”的碎片大小为数十GB。

    感谢@Daniel的回复。我没有注意到默认值的变化(在现有的设置中,默认值是5个主碎片和1个副本)。虽然我理解在网络分区下拥有3个主合格节点w.r.t HA的好处,并通过创建带有过度分配碎片的索引来横向扩展,但我的问题是在索引和查询期间,2个节点上的w.r.t负载更多。因为,节点A是精益的,ES在回答查询时会考虑到这一点吗?或者,查询会在节点A和节点B上命中相同数量的碎片=瓶颈?尝试了解幕后发生的事情,而不仅仅是对任何细节的是/否.TIA。好的,您似乎使用的是7.x之前的Elasticsearch版本,其中,主碎片的默认数量为5。我将更新我的答案,并对负载进行评论。