测试服务器上安装了elasticsearch7.17.7版本,某一天开始索引莫名消失,导致程序异常;
6.19
安装服务并创建索引库
7.29
索引库消失,查阅相关资料后怀疑 elasticsearch 是单机版本 由分区引起冲突导致索引被删除;
重新创建索引库后,设置分区数为0
PUT /test_base/_settings
{
"settings": {
"index":{
"number_of_replicas":0
}
}
}
7.31
查看索引数据,再次被删除.设置分区数量并无作用.
后续查看日志
elasticsearch的任务执行了删除操作.这就引导我去查看了kibana可设置的生命周期设置.
对于索引并没有任何相关删除设置.
最后采取策略 针对我创建的索引 禁用 MetadataDeleteIndexService 服务
单独创建模板,如下
PUT /_index_template/disable_ilm
{
"index_patterns": ["mpi@*"], //索引开头匹配为mpi@的索引关闭生命周期
"template": {
"settings": {
"index.lifecycle.name": null,
"index.lifecycle.rollover_alias": null
}
}
}
执行以上代码后,观察两天 已经解决由生命周期问题导致的索引删除问题.