行动是治愈恐惧的良药,而犹豫、拖延将不断滋养恐惧。

删除索引无法删掉

Elasticsearch | 作者 printf_uck | 发布于2019年02月21日 | 阅读数:10213

如题所示,我是2.3.2的ES版本,利用curator删除10天前的索引,出现以下情况,
1、删除总是超时,应该是集群负载较大,错峰提交删除任务;
2、闲时提交delete任务,提示删除成功,但是过了一段时间,索引又报上来了,集群red,查看了master日志,没有发现创建老索引的日志,排除了业务在后台创建的可能性;
3、执行curl -XGET xxx:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason| grep UNASSIGNED,发现僵尸索引(10天前的索引)全部处于DANGLING_INDEX_IMPORTED(由于导入dangling索引的结果导致未分配)状态,集群继续red;
4、继续查看master日志,发现一个物理机节点挂载的磁盘只读,该物理机部署了该集群的三个实例,在磁盘文件中发现集群出现的僵尸索引。
至此,有个问题想问下,这种情况到底是怎么回事儿,我还不太了解ES的源码实现,在看,没找到这块的代码实现,请问有人知道吗?
PS:正常来说,就算一个物理机下线了很久,重新上线的过程,假设带有之前的老索引数据,master节点不也应该把最新状态更新至刚加入的节点,执行删除的任务吗?
已邀请:

zqc0512 - andy zhou

赞同来自:

PS:正常来说,就算一个物理机下线了很久,重新上线的过程,假设带有之前的老索引数据,master节点不也应该把最新状态更新至刚加入的节点,执行删除的任务吗?
你data目录下面的有老的内容。再加入的时候要去读取的。你肯定下线很久了吧。看看红的是那些索引,肯定是你不需要的。删除就可以了。
 

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

这可能是5.X之前版本的一个bug,详见讨论细节:https://discuss.elastic.co/t/d ... 880/5

juin - 大数据开发

赞同来自:

这个问题在 6.1.1 还是存在的。

要回复问题请先登录注册