我制作了一个带有24个分片的索引快照。索引大小为700克。 还原时,它将并行还原4个碎片。
我的集群是一个只有一台没有副本节点的机器的新集群。 该计算机为AWS c3.8xlarge,具有32个vCPU和60G内存。 我还关注了How to speed up Elasticsearch recovery?。
还原时,内存使用量已满。弹性搜索如何确定可以并行还原多少个碎片? 我想知道如何调整机器的硬件配置以使恢复更快。如果我的集群中有更多计算机,是否可以线性地提高恢复速度?
答案 0 :(得分:2)
基本上,对于ES 6.x,有两个设置决定主分片的恢复速度:
cluster.routing.allocation.node_initial_primaries_recoveries
设置在一个节点上并行恢复的主分片的数量。默认值为4。因此,对于具有N台计算机的群集,并行恢复的碎片总数为N * {node_initial_primaries_recoveries
(请参阅https://www.elastic.co/guide/en/elasticsearch/reference/current/shards-allocation.html#_shard_allocation_settings)indices.recovery.max_bytes_per_sec
决定每个索引在恢复时会加载多少存储空间。默认值为40mb。 (请参见https://www.elastic.co/guide/en/elasticsearch/reference/current/recovery.html)