首页 > 资讯 > 如何查看Elasticsearch集群的健康状态

如何查看Elasticsearch集群的健康状态

您可以通过Elasticsearch(简称ES)的health API查看集群的健康状态,并根据健康状态排查并规避可能存在的风险。

操作步骤

登录目标阿里云ES实例的Kibana控制台。 在左侧导航栏,单击Dev Tools(开发工具)。 在Console中,执行以下命令查看集群的健康状态。

正常情况下,返回如下结果。

{ "cluster_name" : "es-cn-45xxxxxxxxxxxxk1q", "status" : "green", "timed_out" : false, "number_of_nodes" : 2, "number_of_data_nodes" : 2, "active_primary_shards" : 18, "active_shards" : 36, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0, "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" : 100.0 }

status表示集群的健康状态,取值为green、yellow或red。

集群健康状态状态说明 集群健康状态 状态 说明 red 不是所有的主要分片都可用。 表示该集群中存在不可用的主分片。可以理解为某个或者某几个索引存在主分片丢失的情况。 yellow 所有主要分片可用,但不是所有副本分片都可用。 表示该集群中某个或者某几个索引存在副本分片存在丢失的情况。 green 所有主要分片和副本分片都可用。 表示集群中所有的索引都很健康,不存在丢失的分片。

如果您的集群处于yellow状态,此时进行密码修改、集群升配等集群变更操作时周期会比较长。建议修复集群状态为green后,再进行操作。造成yellow状态的原因是索引存在副本分片丢失的情况,需要查找并修复集群中有问题的索引,命令如下:

索引状态查询命令

curl -u <用户名>:<密码> http://<host>:9200/_cat/indices

通过以上命令,您可以查找有问题的索引名称,即状态为yellow的索引名称。

索引状态修复命令

当您设置的索引副本数大于当前节点数减1时,会导致集群处于yellow状态。以下代码仅针对此情况的索引的副本数进行调整。例如,您购买的集群节点数为3,但是个别索引副本数也为3,这样集群就会处于yellow状态。此时设置问题索引副本数为2即可。

curl -XPUT -u <用户名>:<密码> http://<host>:9200/<有问题的索引名称>/_settings -H 'Content-Type: application/json' -d '{"index":{"number_of_replicas":(<当前节点数-1>)}'

说明

当您完成实例重启、扩容或其他自定义配置后,请根据阿里云ES实例的节点数量为索引设置合理的副本数,这将有效提高ES服务的可靠性和稳定性。

相关知识

elasticsearch
检查 Windows 磁盘健康状态
我国居民的中医健康状态调查结果
红外热成像仪检查:身体健康状况如何,只需一扫就能全看清。
如何保持健康的身心状态?科学指南解读
如何调理亚健康状态,远离“三高”?
健康评估全身状态检查
70%国人处于亚健康状态!如何改善亚健康体质?
“特殊健康状态”的儿童,该如何接种新冠疫苗?
八字如何测自己身体健康状态

网址: 如何查看Elasticsearch集群的健康状态 https://m.trfsz.com/newsview603997.html