当状态为红色时,如何找出弹性搜索复制的错误

时间:2014-12-10 23:24:43

标签: elasticsearch replication

我在两个弹性搜索节点上看到非常高的CPU,并且分析显示它与弹性搜索复制相关联。

我已执行健康状况命令:

curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'

返回:

{
  "cluster_name" : "elasticsearch",
  "status" : "red",
  "timed_out" : false,
  "number_of_nodes" : 2,
  "number_of_data_nodes" : 2,
  "active_primary_shards" : 2003,
  "active_shards" : 4006,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 34
}

我可以看到状态为红色,因此存在某种问题,可能导致高cpu。

但我如何才能找出实际上错误的东西?我能纠正它吗?

1 个答案:

答案 0 :(得分:2)

我从这里概述的调试方法开始:

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_cluster_health.html

总结一下,试试跑步:

GET _cluster/health?level=indices

这将为您提供有关哪些索引存在问题的信息 - 但通常情况下,红色状态表示您缺少主分片和副本分片,这意味着您缺少数据(不好)。

我将查看单个节点的运行状况:

GET _nodes/stats

从那里我将专注于堆(内存)使用和磁盘使用 - 特别是寻找一个完整的磁盘。然后我将分别登录每个节点以检查磁盘使用情况。