首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除未分配的分片时未找到索引异常

删除未分配的分片时未找到索引异常
EN

Stack Overflow用户
提问于 2019-06-10 15:30:35
回答 1查看 484关注 0票数 1

我有一个ES集群,其中的pod会时不时地出现故障。

我检查了集群的运行状况,发现集群中有太多未分配的分片

代码语言:javascript
复制
{
"cluster_name" : "elasticsearch",
"status" : "red",
"timed_out" : false,
"number_of_nodes" : 5,
"number_of_data_nodes" : 2,
"active_primary_shards" : 274,
"active_shards" : 274,
"relocating_shards" : 0,
"initializing_shards" : 8,
"unassigned_shards" : 8568,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 16,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 56344,
"active_shards_percent_as_number" : 3.096045197740113

}

我尝试使用以下命令删除未分配的碎片

代码语言:javascript
复制
curl -X GET 'elasticsearch-qna:9200/_cat/shards?pretty' | grep UNASSIGNED | awk {'print $1'} | xargs -i curl -XDELETE 'elasticsearch-qna:9200/{}'

但是,尝试删除表单时未找到索引异常。

代码语言:javascript
复制
{
"acknowledged" : true
}
{
"error" : {
  "root_cause" : [
    {
      "type" : "index_not_found_exception",
      "reason" : "no such index",
      "index_uuid" : "_na_",
      "resource.type" : "index_or_alias",
      "resource.id" : "ResourceID",
    "index" : "en-data-service"
  }
],
"type" : "index_not_found_exception",
"reason" : "no such index",
"index_uuid" : "_na_",
"resource.type" : "index_or_alias",
"resource.id" : "NA",
"index" : "en-data-service"
},
"status" : 404
}

已从JSON中删除资源ID和索引。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2019-06-10 15:47:52

我认为问题出在使用xargs上。请使用此解决方案,并让我知道它是否有效。

代码语言:javascript
复制
curl -X GET 'elasticsearch-qna:9200/_cat/indices?pretty' | grep -i red | awk 'print $3'> indices-for-delete

for i in `cat indices-for-delete` ; do echo $i ; curl -XDELETE 'elasticsearch-qna:9200/$i' ; done

请注意,我将_cat/shards更改为_cat/indices,并尝试查找红色索引,而不是未分配的shard。因为可能由于未分配的副本而存在未分配的分片。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56522247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档