Elasticsearch黑鸟教程6:Elasticsearch自建的索引莫名其妙的删除丢失
备注:此内容为《Elasticsearch黑鸟教程(入门系列)》之六,修订于2020年12月13日。
1、elasticsearch索引丢失的问题描述
手动创建索引之后,过1-2天就莫名其妙的丢失了, 而且并没有去设置自动删除,或者手动删除的操作。这个问题十分常见,通常是elasticsearch新手遇到的比较多。例如这个问题贴:
https://elasticsearch.cn/question/10807
2、原因分析
个人推测此问题是因为副本分片造成的。默认情况下,当我们建立索引的时候,elasticsearch会分配一个主分片和一个副本分片。但是,按照规定主分片和副本分片不应该共存于同一台服务器之上。如果是单机版的elasticsearch,主分片和副本分片共存则视为索引的状态有问题,elasticsearch系统会检测到并删除的。
3、elasticsearch索引丢失的解决方案
在单机系统中,修改默认值,让副本分片的数量为0即可,如下所示:
curl -XPUT 'http://localhost:9200/xxx/_settings' -H 'Content-Type: application/json' -d '
{
"index" : {
"number_of_replicas" : 0
}
}
'