Elasticsearch 常用信息

简述

本文针对 Elasticsearch(简称ES)集群6.x版本出现故障时,可通过提供的命令进行排查。

1、集群健康状态

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

status:集群状态,分为green、yellow、red。

number_of_nodes/number_of_data_nodes:集群的节点数和数据节点数。

active_primary_shards:集群中所有活跃的主分片数。

active_shards:集群中所有活跃的分片数。

relocating_shards:当前节点迁往其他节点的分片数量,通常为0,当有节点加入或者退出时该值会增加。

initializing_shards:正在初始化的分片。

unassigned_shards:未分配的分片数,通常为0,当有某个节点的副本分片丢失该值就会增加。

number_of_pending_tasks:是指主节点创建索引并分配shards等任务,如果该指标数值一直未减小代表集群存在不稳定因素

active_shards_percent_as_number:集群分片健康度,活跃分片数占总分片数比例。

number_of_pending_tasks:pending task只能由主节点来进行处理这些任务包括创建索引并将shards分配给节点。

2、集群命令

|----------------------------------|----------------------------------------------------------------------------------------|
| 命令 | 说明 |
| GET /_cat/health?v | 查看集群的健康状态。集群状态包括green、red、yellow, |
| GET /_cluster/health?pretty=true | 查看集群的健康状态。pretty=true表示格式化输出。您也可以添加其他查询参数,例如:level=indices:显示索引状态。level=shards:显示分片信息。 |
| GET /_cluster/stats | 查看集群的系统信息。包括CPU、JVM等信息。 |
| GET /_cluster/state | 查看集群的详细信息。包括节点、分片等信息。 |
| GET /_cluster/pending_tasks | 查看集群中堆积的任务。 |
| GET /_cluster/settings | 查看集群设置。 |

3、节点命令

|---------------------------------------|------------------------------------------------|
| 命令 | 说明 |
| GET /_cat/master?v | 查看集群中Master节点的信息。 |
| GET /_cat/nodes?v | 查看集群中各个节点的当前状态。包括节点CPU使用率、HeapMemory使用率、负载情况等。 |
| GET /_cat/nodeattrs?v | 查看单节点的自定义属性。 |
| GET /_nodes/stats?pretty=true | 查看节点状态。 |
| GET /_nodes/process | 查看节点的进程信息。 |
| GET /_nodes/hot_threads?interval=10s | 查看高消耗的线程所执行的任务。抓取10s的节点上占用资源的热线程 |
| GET /_nodes/<nodeip>/jvm,process,os | 查看指定节点的JVM、进程和操作系统信息。 |
| GET _cat/plugins?v | 查看各节点的插件信息。 |
| GET /_cat/thread_pool?v | 查看各节点的线程池统计信息。包括线程池的类型、活跃线程数、任务队列大小等。 |

4、分片命令

|------------------------|------------------------------------------------------------------------------------------------------------------------------------|
| 命令 | 说明 |
| GET /_cat/shards?v | 查看集群中各分片的详细情况。包括索引名称、分片编号、是主分片还是副分片、分片的当前状态(对于分配失败的分片会有失败原因)、doc数量、磁盘占用情况等。您也可以指定index,查看该index的分片信息(GET _cat/shards/<index>?v)。 |
| GET /_cat/allocation?v | 查看集群中每个节点的分片分配情况。 |
| GET /_cat/recovery?v | 查看集群中每个分片的恢复过程。 |
| /_cat/segments?v | 查看集群中各索引的segment信息。包括segment名称、所属shard、内存或磁盘占用大小、是否刷盘等。您也可以指定index,查看该index的segment信息 |

5、索引命令

|---------------------|-----------------------------------------------------------------------------------------|
| 命令 | 说明 |
| GET /_cat/indices?v | 查看集群中所有索引的详细信息。包括索引的健康度、状态、分片数和副本数、包含的文档数等。您也可以查看指定索引的信息(GET _cat/indices/<index>?v)。 |
| GET /_cat/aliases?v | 查看集群中所有aliases(索引别名)的信息。包括aliases对应的索引、路由配置等。 |

6、Mapping 命令

|----------------------------------|--------------------|
| 命令 | 说明 |
| GET /_mapping | 查看集群中所有索引的Mapping。 |
| GET /<index>/<type>/_mapping | 查看指定索引的Mapping。 |

7、查看文档

|--------------------------------|-------------------------------------------------------------------|
| 命令 | 说明 |
| GET /_cat/count?v | 查看集群中的文档数量。您也可以指定index,查看该index的文档数量(GET _cat/count/<index>?v)。 |
| GET /<index>/<type>/<id> | 查看文档中的数据。 |

8、快照

|-----------------------------------------|---------|
| 命令 | 说明 |
| GET _snapshot/_all | 查看所有快照。 |
| GET _snapshot/<snapshot_name>/_status | |

9、搜索命令

|----------------------|--------------------------------------|
| 命令 | 说明 |
| GET /_search?explain | explain 参数可以让返回结果添加一个 _score 评分的得来依据 |
| | |

详细示例见:ElasticSearch 查询语句_es正则表达式查询-CSDN博客

相关推荐
热爱嵌入式的小许1 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
吾爱星辰3 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
ChinaDragonDreamer3 小时前
Kotlin:2.0.20 的新特性
android·开发语言·kotlin
IT良3 小时前
c#增删改查 (数据操作的基础)
开发语言·c#
Kalika0-04 小时前
猴子吃桃-C语言
c语言·开发语言·数据结构·算法
_.Switch4 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
代码雕刻家4 小时前
课设实验-数据结构-单链表-文教文化用品品牌
c语言·开发语言·数据结构
一个闪现必杀技4 小时前
Python入门--函数
开发语言·python·青少年编程·pycharm
Fan_web4 小时前
jQuery——事件委托
开发语言·前端·javascript·css·jquery
龙图:会赢的4 小时前
[C语言]--编译和链接
c语言·开发语言