我有logstash + elasticsearch + kibana设置用于索引日志。由于某种原因,es停止了对数据的索引,因此我不得不终止正在运行的es实例并重新启动它。通常,当我重新启动时,es会毫无问题地出现。但是现在无法使用kibana进行搜索。

我使用es工具看到的是一个索引没有分配到任何地方。

logstash-2013.07.22 4 r UNASSIGNED
logstash-2013.10.05 0 r UNASSIGNED
logstash-2013.10.05 0 p UNASSIGNED
logstash-2013.10.05 1 p UNASSIGNED
logstash-2013.10.05 1 r UNASSIGNED
logstash-2013.10.05 2 r UNASSIGNED
logstash-2013.10.05 2 p UNASSIGNED
logstash-2013.10.05 3 r UNASSIGNED
logstash-2013.10.05 3 p UNASSIGNED
logstash-2013.10.05 4 p UNASSIGNED
logstash-2013.10.05 4 r UNASSIGNED

当然,当我使用kibana进行搜索时,查询无法在该索引上进行搜索。
我在elasticsearch.log中没有看到任何错误。

我只有一个运行ES的节点,尽管我的默认配置配置了1个副本。

最佳答案

我的LS + ES 3节点集群有类似的问题,我使用以下方法修复了未分配的分片。

curl -XPOST 'localhost:9200/_cluster/reroute' -d '{
  "commands": [
    {
      "allocate": {
        "index": "INDEXNAME",
        "shard": "SHARDNUMBER",
        "node": "PICKANODE",
        "allow_primary": 1
      }
    }
  ]
}'

关于elasticsearch - Elasticsearch,如何修复 “No active shards”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19193352/

10-15 20:04