gpt4 book ai didi

elasticsearch - 如何从特定分片中删除数据

转载 作者:行者123 更新时间:2023-12-02 22:38:09 25 4
gpt4 key购买 nike

我有一个包含5个主要分片且没有副本的索引。

我的一个分片(分片1 )处于未分配状态。当我检查日志文件时,发现以下错误:

2obv65.nvd, _2vfjgt.fdx, _3e3109.si, _3dwgm5_Lucene45_0.dvm, _3aks2g_Lucene45_0.dvd, _3d9u9f_76.del, _3e30gm.cfs, _3cvkyl_es090_0.tim, _3e309p.nvd, _3cvkyl_es090_0.blm]]; nested: FileNotFoundException[_101a65.si]; ]]



当我检查索引时,找不到 分片1 101a65.si 文件。

我找不到丢失的 .si文件。我尝试了很多,但是无法再次分配 碎片1

还有其他方法可以再次分配 分片1 吗?还是我需要删除整个 分片1 数据?

请提出建议。

最佳答案

通常,在堆栈跟踪中,您应该看到损坏的分片的路径,类似于MMapIndexInput(path="path/to/es/db/nodes/node_number/indices/name_of_index/1/index/some_file)(此处 1 是分片编号)

通常,删除path/to/es/db/nodes/node_number/indices/name_of_index/1应该有助于碎片恢复。如果您仍然看到它未分配,请尝试将此命令发送到您的集群(通常按照the documentation进行,尽管我不确定ES 1.x的语法和命令,但它应该可以工作):

POST _cluster/reroute
{
"commands" : [
{
"allocate" : {
"index" : "myIndexName",
"shard" : 1,
"node" : "myNodeName",
"allow_primary": true
}
}
]
}

关于elasticsearch - 如何从特定分片中删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42920662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com