面试题答案
一键面试重点检查指标及获取方式
- 集群健康状态
- 指标阐述:反映整个Elasticsearch集群的整体运行状况,包括是否所有节点都正常工作,分片是否均匀分配等。
- 获取方式:通过发送HTTP GET请求到
/_cluster/health
端点,返回的JSON数据中包含status
字段,值为green
(所有主分片和副本分片均已分配)、yellow
(所有主分片已分配,但部分副本分片未分配)、red
(存在未分配的主分片,集群部分功能不可用)。
- 节点状态
- 指标阐述:展示每个节点的详细信息,如节点名称、角色、磁盘使用情况、内存使用情况等。
- 获取方式:发送HTTP GET请求到
/_nodes
端点,返回的JSON数据包含每个节点的详细信息。可以通过特定参数如/_nodes/stats
获取节点的统计信息,包括CPU、内存、磁盘、网络等使用情况。
- 索引状态
- 指标阐述:包含索引的基本信息,如文档数量、分片数量、存储大小等。
- 获取方式:发送HTTP GET请求到
/_cat/indices?v
端点,以表格形式返回所有索引的信息,包括索引名、文档数、主分片数、副本分片数、存储大小等。也可通过/{index_name}/_stats
获取特定索引的详细统计信息。
- 分片分配情况
- 指标阐述:了解分片在各个节点上的分布是否合理,避免数据倾斜。
- 获取方式:发送HTTP GET请求到
/_cluster/state?filter_path=metadata.indices.*.shards
端点,返回的JSON数据展示每个索引的分片在各个节点上的分配情况。
- 磁盘使用情况
- 指标阐述:节点磁盘空间的使用情况直接影响数据存储和写入性能。
- 获取方式:通过
/_nodes/stats/os
端点获取节点的操作系统相关统计信息,其中包含磁盘使用情况,如总磁盘空间、已用空间、可用空间等。
- 内存使用情况
- 指标阐述:Elasticsearch的内存使用直接关系到搜索和索引性能。
- 获取方式:同样通过
/_nodes/stats
端点,返回的JSON数据中有关于JVM内存使用的详细信息,包括堆内存使用、非堆内存使用等情况。