大家好,欢迎来到IT知识分享网。
现象
集群有3个索引分片无法分配,查看原因:
{
"index": "brock**********************000_7",
"shard": 0,
"primary": true,
"current_state": "unassigned",
"unassigned_info": {
"reason": "DANGLING_INDEX_IMPORTED",
"at": "2020-05-05T22:32:38.904Z",
"last_allocation_status": "no_valid_shard_copy"
},
"can_allocate": "no_valid_shard_copy",
"allocate_explanation": "cannot allocate because a previous copy of the primary shard existed but can no longer be found on the nodes in the cluster",
"node_allocation_decisions": [ ... ]
分析
DANGLING_INDEX_IMPORTED:僵尸索引/悬空索引:磁盘中存在,而集群状态中不存在的索引;
github上关于悬空索引的文章,https://github.com/elastic/ela … 18250
可能产生原因:
- 直接在物理机上删除了某个索引的UUID数据目录;
- 有节点长时间离线,索引已经删除了,但节点重新加入集群后,还保存有这个索引的信息;
- 从别的集群拷贝了一个索引的数据目录到当前集群;
- …
解决方案
1、在集群中删除僵尸索引;
2、如果步骤1执行后,僵尸索引又重新出现,则只能从物理机上硬删了
参考文章
- 悬空索引(Dangling indices)无法删除
- 大数据的搜索引擎——Elasticsearch
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/11666.html