面试题答案
一键面试主要健康状态监测指标
- 集群健康状态:通过
_cluster/health
API获取,有绿色、黄色、红色三种状态。绿色表示所有主分片和副本分片都已分配;黄色表示所有主分片已分配,但部分副本分片未分配;红色表示存在未分配的主分片,集群部分数据不可用。 - 节点状态:查看节点是否在线,通过
_cat/nodes
API,关注节点的负载、磁盘使用、内存使用等情况。例如磁盘空间不足可能影响数据写入。 - 分片状态:包括主分片和副本分片的分配情况,可通过
_cat/shards
API查看。了解哪些分片在哪些节点上,是否有异常分布。 - 索引状态:索引的文档数量、存储大小等,使用
_cat/indices
API。可判断索引增长趋势,提前规划存储资源。
集群处于黄色健康状态的维护措施
- 检查节点状态:确认是否有节点离线或存在性能问题。如果有节点离线,尝试重启节点或检查网络连接。
- 检查分片分配:查看未分配副本分片的原因,可能是磁盘空间不足、节点负载过高或集群设置问题。若磁盘空间不足,清理或增加磁盘;若节点负载高,考虑负载均衡或增加节点。
- 调整副本数量:根据实际情况,若资源紧张,可适当减少副本数量,通过
PUT /{index}/_settings
API修改index.number_of_replicas
参数,但要权衡数据冗余和可用性。 - 监控集群:持续监控集群健康状态,观察是否有进一步恶化趋势,及时发现并解决潜在问题。