自从创建了索引,索引健康一直都是yellow,但可以正常存取数据。
后来发现使用一段时间后,会自动丢失索引的文档内容(没有设置自动删除)
kibana中 GET /_cluster/allocation/explain 查看异常信息,报错为:
cannot allocate because allocation is not permitted to any of the nodes
a copy of this shard is already allocated to this node [[note_index][0], node[9PzU_sAaTbiWIKKlg62M9Q], [P], s[STARTED], a[id=VcjfhJXQRaKqrH075Jpr5Q]]
查资料发现:
“个人推测此问题是因为副本分片造成的。默认情况下,当我们建立索引的时候,elasticsearch会分配一个主分片和一个副本分片。但是,按照规定主分片和副本分片不应该共存于同一台服务器之上。如果是单机版的elasticsearch,主分片和副本分片共存则视为索引的状态有问题,elasticsearch系统会检测到并删除的。”
https://blog.javaex.cn/article/detail/520108996629164032
运行:
PUT 索引名称/_settings
{
"index" : {
"number_of_replicas" : 0
}
}
至少是变绿了,之后数据还会不会被自动删除有待考察。