当前位置: 首页 > 面试题库 >

如何在Elasticsearch集群上最大化CPU核心

井兴怀
2023-03-14
问题内容

我必须设置多少个分片和副本才能使用群集中的每个cpu核心(我希望100%的负载,最快的查询结果)?

我想使用Elasticsearch进行聚合。我读到Elasticsearch使用多个cpu核心,但是没有找到关于cpu核心在分片和副本方面的确切细节。

我的观察是,单个分片在查询时使用的内核/线程不超过1个(考虑到一次仅查询一个)。使用副本时,查询1-shard索引的速度不会更快,因为Elasticsearch似乎没有使用其他节点来分配shard上的负载。

我的问题(一次查询一次):

  • 一个分片不使用多个cpu核心吗?
  • 分片必须始终被完全扫描,副本不能用于在节点之间划分分片内负载吗?
  • 最佳性能的公式是SUM(每个节点CPU_CORES)* PRIMARY_SHARDS?

问题答案:

进行操作(索引,搜索,批量索引等)时,节点上的分片使用一个执行线程,即一个CPU内核。

如果在给定的时间运行一个查询,则每个分片将使用一个CPU内核。例如,一个具有单个索引的3节点群集具有6个主分片和一个副本,总共将有12个分片,每个节点上有4个分片。

如果集群上仅运行一个查询,则对于该索引,ES将查询该索引的所有6个分片(无论它们是主副本还是副本副本),并且每个节点将使用0到4个CPU内核,因为ES用来选择分片副本执行搜索的循环算法可以选择一个节点上没有分片或一个节点上最多选择4个分片。



 类似资料:
  • 我有一个AWS ElasticSearch T2.Medium实例,有两个节点在运行,几乎没有任何负载。但它一直在崩溃。 我看到了度量JVMMemoryPressure的以下图表: 当我去吉巴纳的时候,我看到下面的错误信息: 问题: 计算机只有64 MB可用内存,而不是应该与此实例类型关联的4 GB可用内存,我的解释正确吗?是否有其他地方来验证堆内存的绝对量,而不是只在Kibana出错时才在其上验

  • 问题内容: 我当前的光泽配置设置如下所示: 并且想知道如何删除设置的 “ max_bytes_per_sec” 部分。 你能给我一个建议吗? 问题答案: 好的。我发现了如何删除持久性设置:您转到主节点的已定义数据路径,更具体地说(在我的情况下),然后删除全局状态文件。然后重新启动elasticsearch。

  • 本文向大家介绍如何监控 Elasticsearch 集群状态?相关面试题,主要包含被问及如何监控 Elasticsearch 集群状态?时的应答技巧和注意事项,需要的朋友参考一下 Marvel 让你可以很简单的通过 Kibana 监控 Elasticsearch。你可以实时查看你的集群健康状态和性能,也可以分析过去的集群、索引和节点指标。  

  • 问题内容: 我已经安装了Elasticsearch 2.2.3并在2个节点的集群中进行了配置 节点1(elasticsearch.yml) 节点2(elasticsearch.yml) 如果我知道我有: 进入节点1的日志有: 改为进入节点2的日志: 哪里出错? 问题答案: 我解决了这一行: 每个配置文件的主机名都必须带有此行

  • 此API用于获取有关集群及其节点的信息,并对其进行更改。 对于调用此API,需要指定节点名称,地址或。 例如, 或者 响应 集群运行状况 此API用于通过追加关键字来获取集群运行状况的状态。 例如, 响应 集群状态 此API用于通过附加’‘关键字URL来获取有关集群的状态信息。状态信息包含:版本,主节点,其他节点,路由表,元数据和块。 例如, 响应 群集统计信息 此API有助于使用’‘关键字检索有