2014-09-30 60 views
5

我有一个ELK堆栈,其中两个ElasticSearch节点正在运行,并且由于某些未分配的碎片导致集群状态变为红色,我无法摆脱它。查找未分配的分片,分别。不完整的指数与:摆脱未分配的碎片

# curl -s elastic01.local:9200/_cat/shards | grep "logstash-2014.09.29" 

表演:

logstash-2014.09.29 4 p STARTED  745489 481.3mb 10.165.98.107 Crimson and the Raven 
logstash-2014.09.29 4 r STARTED  745489 481.3mb 10.165.98.106 Glenn Talbot 
logstash-2014.09.29 0 p STARTED  781110 502.3mb 10.165.98.107 Crimson and the Raven 
logstash-2014.09.29 0 r STARTED  781110 502.3mb 10.165.98.106 Glenn Talbot 
logstash-2014.09.29 3 p INITIALIZING     10.165.98.107 Crimson and the Raven 
logstash-2014.09.29 3 r UNASSIGNED 
logstash-2014.09.29 1 p STARTED  762991 490.1mb 10.165.98.107 Crimson and the Raven 
logstash-2014.09.29 1 r STARTED  762991 490.1mb 10.165.98.106 Glenn Talbot 
logstash-2014.09.29 2 p STARTED  761811 491.3mb 10.165.98.107 Crimson and the Raven 
logstash-2014.09.29 2 r STARTED  761811 491.3mb 10.165.98.106 Glenn Talbot 

我尝试碎片分配给其他节点发生故障:

curl XPOST -s 'http://elastic01.local:9200/_cluster/reroute?pretty=true' -d '{ 
    "commands" : [ { 
      "allocate" : { 
       "index" : "logstash-2014.09.29", 
       "shard" : 3 , 
       "node" : "Glenn Talbot", 
       "allow_primary" : 1 
      } 
     } 
    ] 
}' 

有了:

NO(primary shard is not yet active)] 

我似乎无法找到一个API来推动碎片进一步说明。我怎么能在这里继续?

只为一个完整的画面,那是什么系统健康的样子:

{ 
    "cluster_name" : "logstash_es", 
    "status" : "red", 
    "timed_out" : false, 
    "number_of_nodes" : 2, 
    "number_of_data_nodes" : 2, 
    "active_primary_shards" : 114, 
    "active_shards" : 228, 
    "relocating_shards" : 0, 
    "initializing_shards" : 1, 
    "unassigned_shards" : 1 
} 

谢谢您的时间,并帮助

+0

您是否曾经找到过解决方案? – 2017-02-17 16:54:01

+0

删除碎片并丢失数据是解决它的唯一方法,那时候 – pagid 2017-02-19 16:20:39

回答

0

我居然遇到了这种情况与ElasticSearch 1.5只是一天。在最初得到同样的错误之后,我只需要重复/_cluster/reroute由于缺乏其他想法而请求第二天,它就起作用,并立即将群集恢复为绿色状态。