ES RESTfulなAPI、APIの4種類の合計: 1.クラスタノードを確認し、他の健康指標かどうか、およびそれぞれの状態を得ます。 2.管理クラスタ、ノード、及びインデックスのメタデータ 3 CRUB動作を行う(すなわち.:欠失変更チェック) 4のような高度な操作、実行:ページング、フィルタリング等が挙げられます。 ES APIアクセスインタフェース:TCP:9200、およびESは、HTTPプロトコルの動作に基づいています。 カール-X < 動詞> ' < プロトコル>://ホスト:ポート/ < パス>?< QUERY_STRING > ' -d " < ボディ> ' 注: 動詞:HTTPのその操作は、ように、GET、PUT、DELETEと。 プロトコル:HTTP、HTTPS パス:アクセスパス QUERY_STRING次のようなクエリパラメータ、'かなり「:?形式のJSON出力を読みやすく表示。 体:リクエストのボディ。 このようなノード1の状態を表示するように: カールGET -X 'http://1.1.1.1:9200/?pretty' ES APIインタフェース: _catのAPI: ビューESクラスタのステータス: -X GETカール「http://1.1.1.1:9200/_cat/nodes ?V ' 注: _cat:これは一般的にインタフェース名がアンダースコアで始まるES APIを使用して、名前のES APIインタフェースです。 このインタフェースの機能は、出力が表示されます。 ?V:疑問符vは、修飾され、V:冗長で、詳細を表示。 ?ヘルプ:ヘルプ情報を表示します。 ?H =名、IP、ポート 、アップタイム、heap.current: 。定義可能なこれらの列を表示する すべてのインデックス情報ESクラスタを参照してください-XGET 'http://1.1.1.1:9200/_cat/indices' #カール カールはlocalhost :9200 / _cat /インデックスS#のデフォルトはSを省略することができ、S :?ステータス カールはlocalhost:?9200 / _cat /#ヘルプインデックスは、サポートされているクエリキーワードを表示することができます :_clusterのAPI 統計: ビューESクラスタの健康状態の詳細: -X GET「http://1.1.1.1:9200/_cluster/health?pretty」カール :健康状態の指標を見る 健康 カール-X GET「http://1.1.1.1:9200/_cluster/health/インデックス名1 、インデックス名2、...「 http://1.1.1.1:9200/_cluster/health/インデックス名1レベル=レベル"カール-X GET?」 注: クラスタ:クラスタレベルに表示されている インデックス:インデックスレベル表示 破片:断片化レベルの ビュークラスタのステータス情報: 状態: -X GETカール「http://1.1.1.1:9200/_cluster/state/version」 カール-X GET「http://1.1.1.1:9200/_cluster ?「プリティ/州/ master_node http://1.1.1.1:9200/_cluster/state/nodes?pretty「-X GETカール」 クラスタのビューの統計情報: -X GET 'http://1.1.1.1:9200/_cluster/stats?pretty' カール
ビュークラスタ・ノードのステータス情報:
#カール192.168.10.80:9200/_cat/nodes?vの
マスターノードのノード名:5分15分の合計メモリ%のCPU 1 *役割のヒープメモリ%
のIP heap.percentのram.percentのCPU load_1m load_5m load_15mマスター名node.role
10.2.2.81 14 87 0 0.14 0.12 0.11 MDI - node81
10.2.2.80 27 95 0 0.02 0.02 0.00 * MDI node80
#カール192.168.10.80:9200/_cat/health?v
エポックタイムスタンプクラスタノードステータスnode.totalシャードPRI ReIO INIT割り当て解除.DATA pending_tasks max_task_wait_time active_shards_percent
100.0% - 1564141337午前11時42分17秒myes1グリーン20 0 0 2 2 40 0 0であります
現在のES指数では、赤や黄色のクラスタがある場合は、状態の統計情報のすべての現在の指数(インデックス)を見ることができますここで#は、それを介して、得ることができ、そうであれば、
以下の_cluster /健康によって必要とされる?レベル=インデックス&プリティ特定のフラグメントインデックスの詳細を表示します。 カール192.168.10.80:9200/_cat/indices?v
#ビューインデックスの断片化のステータス情報 #カールは"localhost:9200 / _cluster /健康レベル=インデックス?&プリティ" { "CLUSTER_NAME": "myes1"、 "ステータス":緑の全体ESクラスタの"グリーン"、#の状態、グリーンの非インデックスが存在する任意の状態は、その後全体非ESのステータスが緑になる場合ので、以下のすべてのインデックスの状態で、緑です。 "TIMED_OUT":falseに、 2: "number_of_nodesこれは" "number_of_data_nodes":2、 "active_primary_shards":20である 、"active_shards" 40、 "relocating_shards":0、 "initializing_shards":0、 "unassigned_shards":0、 「delayed_unassigned_shards ":0、 " number_of_pending_tasks「:0、 ".kibana_task_manager":{ "ステータス": "グリーン"、.kibana_task_managerこのインデックス#現在のステータスは緑です。 インデックスは通常、断片が失わ表示されている場合は#、ステータスが赤や黄色になります: #red:それは、マスタースライス欠けがあることを意味します!黄色:それはフラグメントのコピーが失われていることを意味します!!しかし、まだ読めるマスタースライス 「number_of_shards」:1、ナンバー1は、#shardさにスライスすなわち 「number_of_replicas」:1、#1の断片のコピー数、数のシャード決定断片のコピー数それは破片の数と同じでない場合、状態はインデックスグリーンはいけません: 「active_primary_shards」:. 1、現在アクティブなプライマリ#スライスの数 「active_shards」:2、#は、現在アクティブなすべてのフラグメントの数です " relocating_shards「:0、#はスケジューリング割当に応じてスライスの数であり、[文字通りではなく、非常に右} 」initializing_shards」 unassigned_shards「」:未割り当てスライス#0の数 } ............ ...
ノードに割り当てられていない、それが失われたスライス#ビューのシャードの破片は、スライス
#カール:「localhostの9200 / _cat /アラーラのV&プリティ?」
#シャードを:それはインデックスの断片IDを表し
#のprirepを:これは、プライマリおよびレプリカフラグメンテーション断片、ここで:pは、R、プライマリスライスを表す:スライスのコピー表す
#状態:この状態では、これらのタイプを有することができる:、再配置初期化、開始、割り当てられていない 、 場合に、この未割り当ての割り当てを表しますこの状態では、我々は注意を払う必要があります。
#Docsや店舗:このインデックスは、ドキュメントの下の文書の数であり、ディスク・スペースを占有します。
ElasticSearchクラスタは赤と黄色の状態表示される理由
参考リンクします。https://www.jianshu.com/p/74fe89ab4af7
。クラスタ赤と黄色のは、最も一般的なElasticsearchクラスタの問題の一つである
どんなにREDまたはYELLOW、一つだけの理由:いくつかの断片が割り当てられていない、とさえ場合のみクラスタは、故障につながることができます。
赤:それはメインのフラグメントが割り当てられていないと述べました!
黄色:それはフラグメントのコピーが割り当てられていないがあることを意味します!!しかし、まだ読めるマスタースライス
問題の診断クラスターRED YELLOWまたは推奨クラスタの割り当てのためのAPIを説明し、APIは、未割り当ての断片の具体的な原因が特定できています。
たとえば、次の要求は最初の未割り当ての断片の特定の理由を返すために:
-XGET localhostをカール:?9200 / _cluster /割り当てを/プリティEXPLAIN
クラスタREDまたはYELLOWは、一般的に、我々は最初のノードをオフラインがあるかどうかを見るために必要がある場合。
個々だけでなく、クラスタまたはRED YELLOW、いくつかの共通の未割り当て次のような理由にフラグメンテーション割り当てられていない状態での結果:
問題により、対応するコンフィギュレーション・修正するために必要な構成に原因•
ノードがオフラインであるため、ノードがオフラインで再起動する必要が生じた•の
•断片化規則の制限、例えばtotal_shards_per_node、またはディスクスペースの制約ので、ルールはそれに応じて調整する必要がある
、断片化は、観察することが、主な未割り当ての原因となる、メインタイムスライスの割り当て•最新のデータの断片化を見つけることができませんノードをオフラインには、そこにある
極端な場合には、手動でフラグメントベースのスライスの古いコピーを変更することができますが、これは新しいデータストレージのいくつかの損失をもたらします。
#カールは「localhost:?9200 / _cat / Vシャード&プリティ」| grepをunassingned #上記のクエリがunassingned現れた場合は、インデックスの断片化を表示するには、次のコマンドを渡すことができますが、未割り当て引き起こすものである カール-sXGETはlocalhostを: ?9200 / _cluster /割り当て/ EXPLAINプリティ-d '{ "インデックス": "myindex"は、インデックス#名指定することができる "断片":3、#(タイル)を表示するシャードを指定番号 "プライマリ":真へ } #出力された場合: { "インデックス": "myindex"、 "シャード":0、 "プライマリ":trueに、 "current_state": "未割り当て"、 .............. } 「can_allocate」:「no_valid_shard_copy」、 「allocate_explanation」:「シャードのすべて見つかったコピーが古くなったり壊れどちらかであるため、割り当てることができません」、
断片のすべてのコピーが摩耗や損傷が判明しているため、#を割り当てることができません
...........................
#このエラーかもしれません理解すること:
ディスク上のデータのこのスライスを見つけるelasticsearchはなく、日付までのデータの断片化のために、ベースのスライスを割り当てることはできません。スライスを割り当てる方法は
、それらが存在しないか破損しているインデックス断片を知っている場合、修復はリルート割り当てる割り当てることにより、手動で開始
:カール-XPOST「9200 {ESIP} -H「コンテンツタイプ:アプリケーション/ / _cluster /再ルーティング」をJSON "-d「{
"コマンド":[{
"割り当て":{
"インデックス":" eslog1"、
"シャード":4、
"ノード":" ES1"、
" allow_primary」:真へ
}
}
]
} '
クラスタが同じバージョンESないときスライスが低いノードに割り当てることができないバージョンを生成した上位バージョンが割り当てられていない場合は、順番に、スライスの低いバージョンが上位バージョンに割り当てることができます、
あなたが持っている場合は、限りESバージョンができ、低ノードのアップグレード版として
(ESバージョンが正式詳細なドキュメントを参照してくださいアップグレード、私はUbuntuのシステムをインストールしがちだ、直接apt-getをelasticsearchアップグレードをインストールし、elasticsearch.yml
設定ファイルが変更されていない、しかしを/ usr / share / elasticsearch / binに/ elasticsearchファイルがメモリ構成ES_HEAP_SIZEを持って変更しないでください= 6G、手動で再起動&ESを追加する必要があります)
ネットワークから撮影[]
以下のタイプが割り当てられていない最初のスライス#の理由で:
1. INDEX_CREATED
ためのインデックスAPIを作成するインデックスは、インデックス作成プロセスを導く作成し、プロセスを分配インデックス紙の全体部分は、完成され
スライス割り当ての全体部分が完了する前に、インデックスがでたりRED YELLOW過渡状態になります。クラスタの監視システムREDを見つけるのであれば、必ずしも故障があったわけではありません。
2. CLUSTER_RECOVERED
すべての断片が割り当てられていない、と、これが理由のタイプにクラスタの完全な再起動属するため、開始フェーズとしてマークされ、クラスタの完全な再起動を。
INDEX_REOPENED 3.
オープン前のインデックスのクローズは、操作意志インデックス割り当ての再割り当てを再開します。
4. DANGLING_INDEX_IMPORTEDは、
インデックスがぶら下がっているもの、ダングリングインデックスをインポートしていますか?
ディスクの存在、およびクラスタインデックスがダングリング指標と呼ばれる状態に存在しない、例えば、他のクラスタから現在のクラスタデータディレクトリのインデックスのコピー
このインデックスは、このようにダングリングインデックスに割り当てられたスライスするためのプロセスを必要とする、クラスタ内にロードElasticsearchます。
5. NEW_INDEX_RESTORED
新しいインデックスにスナップショットから復元します。
6. EXISTING_INDEX_RESTOREDは、
インデックスにスナップショットから閉じた状態を復元します。
7. REPLICA_ADDED
コピーフラグメントを増加させました。
8. ALLOCATION_FAILED
割り当ての失敗の原因以来。
9. NODE_LEFT
ノード以降はオフラインです。
10. REROUTE_CANCELLED
明示的なので、コマンドを再ルーティングキャンセル。
11.再初期化
断片から遷移状態に状態を初期化開始して以来。
12. REALLOCATED_REPLICA
コピーフラグメントの移動に起因。
13. PRIMARY_FAILED
初期化サブタイムスライス、マスタースライス障害。
14. FORCED_EMPTY_PRIMARYは、
マスター・スライスを割り当てられ、空を余儀なくされました。
15. MANUAL_ALLOCATION
手動配布の断片化を強制します。