2016-04-07 12 views
0

私はElasticSearchクラスタに割当てられていないシャードを割り当てていますが、修正方法はわかりません。インデックスを削除してもう一度作成しましたが、画像は同じではありません。ElasticSearch内のインデックスの割当てられていない破片

enter image description here

どのようにそれを修正するには?

---編集----以下

{ 
    "cluster_name": "node_name", 
    "status": "yellow", 
    "timed_out": false, 
    "number_of_nodes": 2, 
    "number_of_data_nodes": 2, 
    "active_primary_shards": 8, 
    "active_shards": 12, 
    "relocating_shards": 0, 
    "initializing_shards": 0, 
    "unassigned_shards": 4, 
    "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": 75 
} 
+0

どのような破片ですか?実行しているノードの数はいくつですか?何を試しましたか? _cat APIを調べましたか? – evanv

+0

2ノード、8シャード。私は何度もインデックスを削除して再度生成しますが、上記の同じ画像になります。 _cat APIとは何ですか? –

+1

https://www.elastic.co/guide/en/elasticsearch/reference/current/cat.html /var/log/elasticsearch/{{cluster_name}}.logを見ましたか?どのバージョンのElasticを使用していますか? – evanv

答えて

-1

は(ターゲット・ノードのにサーバー名を変更)の修正を強制する可能性がbashのです:

IFS=$'\n' 
for line in $(curl -s 'localhost:9200/_cat/shards' | fgrep UNASSIGNED); do 
    INDEX=$(echo $line | (awk '{print $1}')) 
    SHARD=$(echo $line | (awk '{print $2}')) 

    curl -XPOST 'localhost:9200/_cluster/reroute' -d '{ 
    "commands": [ 
     { 
      "allocate": { 
       "index": "'$INDEX'", 
       "shard": '$SHARD', 
       "node": "SERVER_NAME_OF_THE TARGET_NODE", 
       "allow_primary": true 
      } 
     } 
    ] 
    }' 
+0

ありがとう!どういうわけかそれは私のために働かなかった。 –

+0

動作しなかったときのエラーメッセージは何ですか? –

0

私は問題を発見しました!ノード2.3.1とノード2.2.0の2つの異なるバージョンがありました。私は昨日現在のバージョンでElasticSearchを更新しているので、2番目のノードは同じサーバー上にあるため手動で更新する必要があります。さまざまなバージョンがあるので、このunassgned破片があった。

ありがとうございます!

関連する問題