Elasticsearch:重新索引使索引的大小增加了一倍

44u64gxh  于 2023-08-03  发布在  ElasticSearch
关注(0)|答案(1)|浏览(128)

我刚刚从以前的索引转储中做了一个完整的重新索引,但新创建的索引是以前索引的两倍,甚至在它为所有文档建立索引之前。原因是什么?
以前的指数是3.7gb,新的是7gb。
更新:它现在已经下降到5. 2 GB(可能是由于分段合并),但正如你所看到的,它仍然比以前的索引3. 7 GB大


的数据
下面是两个索引的分片输出:

sg24os4d

sg24os4d1#

新旧索引大小之间存在差异的原因是未分配的碎片

GET _cat/shards/index_name_1,index_name_2?v

字符串
上面的API调用显示,对于一个小索引,存在一些未分配的碎片。未分配的碎片正在影响store.sizestore.size是所有碎片大小的总和。如果碎片未分配,则不会计算碎片。
pri.store.sizesstore.size对于大索引具有不同的大小。这意味着大索引的一个副本已分配,而小索引的两个副本未分配。
您可以使用以下API调用检查碎片未分配的原因。

GET _cluster/allocation/explain


Elasticsearch将重试5次以分配碎片。如果它失败了5次,将不会有任何自动过程来分配这些碎片。您可以使用以下API调用强制分配碎片。

POST _cluster/reroute?retry_failed=true


请注意,如果您遇到磁盘水印问题,例如磁盘空间不足,分配过程将再次失败。您可以通过删除旧的索引或删除旧的Elasticsearch日志等来获得更多的磁盘空间。

相关问题