Help us understand the problem. What is going on with this article?

Elasticsearchでcluster statusがredになっているのを解決する

概要

elasticsearchを運用していると自分のオペミスなどで、cluster statusがredになることがある。unsignedなインデックスが削除可能であるときは、削除することでclusterのstatusをgreenにすることが出来る。

環境

Elasticsearch version 6.5.1

クラスターの状態を見る

Elasticsearchクラスターの状態は/_cluster/health APIで確認することができます。確認してみると下の例ではstatusがredになっています。

$ curl localhost:9200/_cluster/health?pretty=true
{
  "cluster_name" : "prd-hogehoge-cluster",
  "status" : "red",
  "timed_out" : false,
  "number_of_nodes" : 3,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 27,
  "active_shards" : 54,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 10,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 84.375
}

kibanaでも確認してみると、状態がredになっています。
Elasticsearch.png

/_cluster/health APIをみていると、unassigned_shardsが存在することがわかります。
どのshardがunsignnedなのかを、確認してみましょう。

$ curl -XGET localhost:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason
.monitoring-es-6-2019.01.03     0 r STARTED
.monitoring-es-6-2019.01.03     0 p STARTED
.monitoring-kibana-6-2019.01.08 0 p STARTED
.monitoring-kibana-6-2019.01.08 0 r STARTED
.monitoring-es-6-2019.01.04     0 r STARTED
.monitoring-es-6-2019.01.04     0 p STARTED
.monitoring-es-6-2019.01.08     0 r STARTED
.monitoring-es-6-2019.01.08     0 p STARTED
.monitoring-kibana-6-2019.01.01 0 p UNASSIGNED CLUSTER_RECOVERED
.monitoring-kibana-6-2019.01.01 0 r UNASSIGNED CLUSTER_RECOVERED
.monitoring-kibana-6-2019.01.06 0 p UNASSIGNED CLUSTER_RECOVERED
.monitoring-kibana-6-2019.01.06 0 r UNASSIGNED CLUSTER_RECOVERED
.monitoring-es-6-2019.01.07     0 p UNASSIGNED CLUSTER_RECOVERED
.monitoring-es-6-2019.01.07     0 r UNASSIGNED CLUSTER_RECOVERED
hogehoge_v1                     1 p STARTED
hogehoge_v1                     1 r STARTED
hogehoge_v1                     2 p STARTED
hogehoge_v1                     2 r STARTED
hogehoge_v1                     3 r STARTED
hogehoge_v1                     3 p STARTED
hogehoge_v1                     4 p STARTED
hogehoge_v1                     4 r STARTED
hogehoge_v1                     0 r STARTED
hogehoge_v1                     0 p STARTED

確認してみると、kibanaでグラフ表示に使うデータを保存しているインデックスが、unsignedになっていることがわかりました。

現場によると思いますが、kibanaのモニタリングは自分しか見ていないので、削除して問題ないので削除します。

$ curl -XDELETE localhost:9200/.monitoring-kibana-6-2019.01.01
{"acknowledged":true}
略

結果

無事StatusはGreenになりました。

この方法は消して大丈夫なindexを消したのであって、間違ってもサービスで使っているindexを消すようなことはしないようにしてください。王道の方法はもう1クラスタを作成し、サービスをそちらに向けてから再インデックスをする方法だと思います。

$ curl localhost:9200/_cluster/health?pretty=true
{
  "cluster_name" : "prd-hogehoge-cluster",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 3,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 27,
  "active_shards" : 54,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away