长时间运行的任务在ElasticSearch中失败

lp0sw83n  于 2022-11-02  发布在  ElasticSearch
关注(0)|答案(1)|浏览(236)

我有一个约1.8亿个文档的索引(我有34个文档需要说明),我目前正在ElasticSearch中使用/reindex和_ingest/pipeline转换这些文档。
问题是,它失败了80%的运行。错误如下:

"error" : {
"type" : "search_phase_execution_exception",
"reason" : "all shards failed",
"phase" : "query",
"grouped" : true,
"failed_shards" : [
  {
    "shard" : -1,
    "index" : null,
    "reason" : {
      "type" : "illegal_state_exception",
      "reason" : "node [d6UWyUAKSwq53szZy2VlNQ] is not available"
    }
  }
]

它通常发生在1.2亿到1.4亿个文档中。看看Grafana -一切似乎都很好。CPU负载很好,内存足够。我不知道该做些什么来保存时间,而不是一次又一次地启动那个程序。
运行示例:

POST /_reindex?wait_for_completion=false&slices=auto
{
  "source": {
    "index": "index_tmp"
  },
  "dest": {
    "index": "index_resulting",
    "pipeline": "remove_unused_fields"
  }
}
wh6knrhe

wh6knrhe1#

您应该尝试使用slices=1,这将花费更长的时间,但也会减少群集上的负载

POST /_reindex?wait_for_completion=false&slices=1
{
  "source": {
    "index": "index_tmp"
  },
  "dest": {
    "index": "index_resulting",
    "pipeline": "remove_unused_fields"
  }
}

相关问题