この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 14418|答える: 2

Elasticsearch(ES)クラスターの健康状態:赤 故障解析

[リンクをコピー]
2021年1月27日 23:08:07に投稿 | | | |
elasticsearch-headパネルを使ってElasticsearch(ES)に接続したところ、以下のエラーが出ました:

クラスターヘルス:赤(31点中24点)


ステータス情報を見るには、以下をご覧ください:ハイパーリンクのログインが見えます。

{
  「cluster_name」:「elasticsearch」、
  「ステータス」:「赤」
  「timed_out」:偽り、
  「number_of_nodes」:1、
  「number_of_data_nodes」:1、
  「active_primary_shards」:24頁、
  「active_shards」:24頁、
  「relocating_shards」:0、
  「initializing_shards」:0、
  「unassigned_shards」:7、
  「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」:77.41935483870968
}
「ステータス」:「赤」ステータスは空です

ヘッドプラグインは異なる色で表示されます

1) グリーン - 最も健康的な状態で、すべてのプライマリおよびレプリカシャードが利用可能です。
2) 黄色 - すべての主要シャードが利用可能ですが、一部のレプリカシャードは利用できません;
3) 赤 - 一部の主要シャードは利用できません。 (現時点ではクエリ実行時に一部のデータが見つかることがあるため、迅速に解決する方が良いです。) )


インデックスの状況を見るには、以下にアクセスしてください:ハイパーリンクのログインが見えます。

.monitoring-es-6-2021.01.22 0 p 未割り当てALLOCATION_FAILED
未割り当てシャーディングとは何ですか?

一文で説明すると:未割り当てのシャード。
ESを起動すると、Headプラグインを何度もリフレッシュするとクラスターシャードが紫、灰色、そして最終的に緑色に見えます。


なぜ未割り当てのシャーディングが起こるのでしょうか?

例えばシャードを割り当てられない場合、クラスタ内のノード数に対してレプリカシャード数を過剰に割り当ててしまった場合、シャードは未割り当てのままです。
エラーコードはALLOCATION_FAILEDです。


未割り当てのシャーディング問題の原因は?

1) INDEX_CREATED:インデックス作成のAPIにより割り当てられません。
2) CLUSTER_RECOVERED:完全なクラスター復旧のため割り当てられていません。
3) INDEX_REOPENED:インデックスの開封または閉鎖により割り当てられません。
4) DANGLING_INDEX_IMPORTED:ダングリング指数のインポート結果により割り当てられません。
5) NEW_INDEX_RESTORED:新しいインデックスへのリバートにより割り当てられません。
6) EXISTING_INDEX_RESTORED:閉じたインデックスに戻るため割り当てられません。
7) REPLICA_ADDED:レプリカシャードを明示的に追加したため割り当てられていません。
8) ALLOCATION_FAILED:シャード割り当ての失敗により割り当てられませんでした。
9) NODE_LEFT:シャードを運ぶノードはクラスタを離れ、割り当てられません。
10) 再初期化:開始から初期化へ移動する際に未割り当てのシャードが発生するため(例:シャドウシャドウコピーでのシャーディング)。
11) REROUTE_CANCELLED:明示的なアンリセイルコマンドの結果としてデアロケーション。
12) REALLOCATED_REPLICA:より良いレプリカの位置が使用に適しているかを決定し、既存のコピー割り当てとアン割り当てをキャンセルします。


サーバーにログインして、Elasticsearch(ES)ログを以下のように確認してください:

Elasticsearchは多くのログを出力し、すべてES_HOME/logsディレクトリにあります。 デフォルトのログレベルはINFOです。 適度な情報を提供しますが、ログを圧倒しないように設計されています。
ハイパーリンクのログインが見えます。



以下のような多くの誤りがあります:

[2021-01-21T03:33:26,435][警告音][o.e.x.m.e.l.LocalExporter] [A_OefhJ] 監視文書のインデックス作成中の予期せぬエラー
org.elasticsearch.xpack.monitoring.exporter.ExportException: ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];]
        at org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$throwExportException$2(LocalBulk.java:128) ~[?:?]
        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_222]
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_222]
        at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_222]
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_222]
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_222]
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:1.8.0_222]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:1.8.0_222]
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_222]
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_222]
        at org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.throwExportException(LocalBulk.java:129) ~[?:?]
        at org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$doFlush$0(LocalBulk.java:111) ~[?:?]
        at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) ~[elasticsearch-6.5.2.jar:6.5.2]
        org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkRequestModifier.lambda$wrapActionListenerIfNeeded$0(TransportBulkAction.java:607) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:414) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:409) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:91) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:901) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockException(TransportReplicationAction.java:824) ~[ elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:812) ~[ elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.doRun(TransportReplicationAction.java:710) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:97) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:167) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:126) ~[?:?]
        at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:165) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:139) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:384) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:496) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction.executeIngestAndBulk(TransportBulkAction.java:243) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction.doExecute(TransportBulkAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction.lambda$processBulkIndexIngestRequest$4(TransportBulkAction.java:549) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.ingest.IngestService$4.doRun(IngestService.java:417) [elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:723) [elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-6.5.2.jar:6.5.2]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
原因:org.elasticsearch.cluster.block.ClusterBlockException:ブロック対象:[FORBIDDEN/12/index read-only / allow delete (api)];
        at org.elasticsearch.cluster.block.ClusterBlocks.indexBlockedException(ClusterBlocks.java:183) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:810) ~[ elasticsearch-6.5.2.jar:6.5.2]
        ... あと21件


分析の結果、その理由は以下の通りであることが判明しましたESが設置されているサーバーのディスク容量が不足しています1つ以上のシャードを持つインデックスが、データの95%以上を格納するディスク内のノードに割り当てられると、そのインデックスは読み取り専用モードに強制されます。

CentOSは各フォルダのサイズをカウントし、大きなファイルを探します
https://www.itsvse.com/thread-9542-1-1.html
すべてのインデックス設定情報をご覧ください:ハイパーリンクのログインが見えます。、下図に示されているように:



「知識」 : {
    「設定」 : {
      「インデックス」 : {
        「number_of_shards」:「3」、
        「ブロック」 : {
          「read_only_allow_delete」:「真実」
        },
        「provided_name」:「知識」、
        「creation_date」:「1576206251443」、
        「number_of_replicas」 : 「0」
        「uuid」:「yeSIP_otQo6JQ8ooRdr8hA」、
        「バージョン」 : {
          「作成」:「6050299」
        }
      }
    }
  }
read_only_allow_deleteこの属性が真の場合、ESインデックスはデータの読み取りと削除のみを許可し、データの追加や変更は許可しません


解決

ディスクの問題を解決した後、ジャンクファイルを展開または削除した後は、以下のチュートリアルに従ってください。

read_only_allow_deleteをfalseに設定してください

elasticsearch-headを使ってプットリクエストを送信できます:ハイパーリンクのログインが見えます。、下図に示されているように:

{
「了解」:真
}





それでもレッドの健康状態は消えない。「.monitoring-es-6-*」データ自体を直接削除してください状態は健康状態となり、下図に示されています。



(終わり)




先の:CentOSは各フォルダのサイズをカウントし、大きなファイルを探します
次に:Elasticsearch(ES)クラスターの健康状態:黄色(7つ中6つ)ステータス
 地主| 2021年6月15日 11:22:58に投稿 |
-- すべてのインデックスステータスを見る

ハイパーリンクのログインが見えます。

-- ステータスが赤のインデックスを表示
ハイパーリンクのログインが見えます。

ドキュメンテーション:ハイパーリンクのログインが見えます。

 地主| 2023年4月17日 12:12:32に投稿 |
Elasticsearch(ES)は故障解にデータを書き込めません
https://www.itsvse.com/thread-10568-1-1.html
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com