您可以在可视化工具控制台执行运维命令检查集群状态,及时发现集群健康状态异常,有助于规避可能存在的风险。
集群有 red、yellow 和 green 3 种状态,每种状态代表不同含义:
GET /_cluster/health
命令,然后单击发送请求图标。{ "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 状态的原因是集群某个或多个索引存在副本分片丢失,需要您查找出异常索引然后修复问题。
单击左上角的菜单,然后选择 Management > Dev Tools。
查询状态异常索引。
在 **Console **页签下的左侧区域执行GET /_cat/indices?v
命令,然后单击发送请求图标。
返回信息如下,可以发现有部分索引的状态为 yellow。
索引呈现 yellow 状态是因为索引副本数大于“当前节点数-1”,您可以通过重新设置副本数解决问题。
修复状态异常的索引。
在 Console 页签下的左侧区域执行以下命令,然后单击发送请求图标。
PUT /<index-name>/_settings { "index":{"number_of_replicas":1} }
返回信息如下:
{ "acknowledged" : true }
再次查询索引状态,查看所有索引状态是否变更为 green。
在 Console 页签下的左侧区域执行GET /_cat/indices?v
命令,然后单击发送请求图标。可以看到目标索引状态已变更为 green。
再次检查集群状态,查看集群状态是否变更为 green。
在 **Console **页签下的左侧区域执行GET /_cluster/health
命令,然后单击发送请求图标。
可以清楚的看到集群状态已变更为 green。