You need to enable JavaScript to run this app.
导航

查看集群健康状态

最近更新时间2023.11.10 10:33:49

首次发布时间2023.08.09 14:03:31

您可以在可视化工具控制台执行运维命令检查集群状态,及时发现集群健康状态异常,有助于规避可能存在的风险。

背景信息

集群有 red、yellow 和 green 3 种状态,每种状态代表不同含义:

  • red:表示集群中存在不可用的主分片。可理解为部分数据不可用,但也存在部分数据可用。
  • yellow:表示集群中所有主分片可用,部分副本分片不可用。可以理解为所有数据可用,但存在一些副本未分配,当前还不是高可用状态。
  • green:表示集群中所有主分片和副本分片都可用。可以理解为集群是健康的,处于高可用状态。

检查集群状态

  1. 登录可视化工具页面
  2. 单击左上角的菜单,然后选择 Management > Dev Tools
  3. Console 页签下的左侧区域执行GET /_cluster/health命令,然后单击发送请求图标。
    图片
    返回信息如下,可以发现集群状态显示为 yellow,表示集群中部分副本不可用。
    {
      "cluster_name" : "00g0***al97",
      "status" : "yellow",
      "timed_out" : false,
      "number_of_nodes" : 15,
      "number_of_data_nodes" : 6,
      "active_primary_shards" : 5,
      "active_shards" : 26,
      "relocating_shards" : 0,
      "initializing_shards" : 0,
      "unassigned_shards" : 3,
      "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" : 89.65517241379311
    }
    

修复集群状态

当您的集群状态为 yellow,表示集群中部分副本不可用,如果此时进行修改密码、集群升配等操作耗时将会大幅增加。建议您修复集群状为 green 后,再进行操作。
造成 yellow 状态的原因是集群某个或多个索引存在副本分片丢失,需要您查找出异常索引然后修复问题。

  1. 登录可视化工具页面

  2. 单击左上角的菜单,然后选择 Management > Dev Tools

  3. 查询状态异常索引。
    在 **Console **页签下的左侧区域执行GET /_cat/indices?v命令,然后单击发送请求图标。
    图片
    返回信息如下,可以发现有部分索引的状态为 yellow
    索引呈现 yellow 状态是因为索引副本数大于“当前节点数-1”,您可以通过重新设置副本数解决问题。

  4. 修复状态异常的索引。
    Console 页签下的左侧区域执行以下命令,然后单击发送请求图标。

    PUT /<index-name>/_settings
    {
    "index":{"number_of_replicas":1}
    }
    

    返回信息如下:

    {
      "acknowledged" : true
    }
    
  5. 再次查询索引状态,查看所有索引状态是否变更为 green
    Console 页签下的左侧区域执行GET /_cat/indices?v命令,然后单击发送请求图标。可以看到目标索引状态已变更为 green
    图片

  6. 再次检查集群状态,查看集群状态是否变更为 green
    在 **Console **页签下的左侧区域执行GET /_cluster/health命令,然后单击发送请求图标。
    可以清楚的看到集群状态已变更为 green
    图片