蛮子哥 蛮子哥
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)

蛮子哥

业精于勤,荒于嬉
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)
  • ansible系列文章

  • Kubernetes笔记

  • elk

    • elk安装
    • docker-compose安装elk
    • filebeat-log相关配置指南
    • logstash提取日志字段到kibana仪表盘展示
    • 深入理解 ELK 中 Logstash 的底层原理
    • filebeat及logstash配置
    • es索引定期删除脚本
    • logstash线上配置文件
    • elk报错问题总结
    • es备份和还原
    • ES集群与角色规划
    • ES8.8集群与Kibana部署
    • ElasticSearch可视化工具介绍
    • 使用docker构建ElasticSearch集群
    • ES故障排查命令
      • 1️⃣ Elasticsearch 是什么?
      • 2️⃣ 核心术语
      • 3️⃣ 节点角色
      • 4️⃣ 数据存储和查询
      • 5️⃣ 高可用与扩展
      • 6️⃣ 常用 API 分类
      • 🔹 总结
      • 🔹 运维小技巧
    • kafka介绍
  • jenkins

  • GitLabCI_CD

  • AI编程

  • 提示词

  • 专题
  • elk
蛮子哥
2026-04-29
目录

ES故障排查命令

# 🟢 Elasticsearch 基础概念介绍

# 1️⃣ Elasticsearch 是什么?

  • Elasticsearch 是一个基于 Apache Lucene 的分布式搜索引擎。
  • 适用于全文搜索、结构化搜索、分析大数据。
  • 特点:
    • 分布式、高可用、可水平扩展
    • 实时索引和搜索
    • 支持复杂查询、聚合和分析
    • RESTful API 访问

# 2️⃣ 核心术语

概念 说明
Cluster(集群) 一组 Elasticsearch 节点共同工作形成的集群,由 cluster.name 标识。
Node(节点) 集群中的单个 Elasticsearch 实例。每个节点有角色(master、data、ingest、coordinating)。
Index(索引) 类似数据库中的“库”,存储文档的逻辑集合,每个索引有配置的主分片和副本分片。
Document(文档) 索引中的一条记录,JSON 格式。
Field(字段) 文档中的键值对,可用作搜索和分析。
Shard(分片) 索引被切分成的基本存储单元。主分片(primary)存储原始数据,副本分片(replica)用于备份和负载均衡。
Replica(副本) 主分片的复制,用于容错和高可用。
Mapping(映射) 定义文档字段类型和索引规则。
Analyzer(分析器) 将文本拆分为可搜索的词条,用于全文搜索。
Cluster State(集群状态) 集群元信息,包括索引、分片、节点、路由信息。

# 3️⃣ 节点角色

角色 功能
Master Node(主节点) 管理集群元数据、节点加入、索引创建、分片分配。
Data Node(数据节点) 存储数据和执行搜索、聚合操作。
Ingest Node(预处理节点) 可对文档执行 pipeline 处理(例如解析、修改字段)。
Coordinating Node(协调节点) 接收请求,分发到数据节点,汇总结果(所有节点默认兼任协调节点)。
ML / Voting / Frozen Nodes 可选节点角色,用于机器学习、投票、冷数据存储。

# 4️⃣ 数据存储和查询

  1. 分片机制
    • 索引 → 主分片 + 副本分片
    • 支持水平扩展,大数据量分布在多个节点
  2. 倒排索引
    • 核心搜索机制,将文档拆分成词条 → 生成倒排索引
    • 查询速度非常快
  3. 全文搜索
    • 支持 match、multi_match、bool 查询
    • 支持高亮、排序、分页、聚合

# 5️⃣ 高可用与扩展

  • 节点故障时:
    • 副本分片自动提升为主分片
    • 分片重新分配保证数据安全
  • 扩展:
    • 增加节点 → 分片重新均衡
    • 索引分片可通过 number_of_shards / number_of_replicas 配置

# 6️⃣ 常用 API 分类

类型 常用 API
集群管理 _cluster/health, _cluster/state, _cat/nodes
索引管理 _cat/indices, _stats, _mapping, _settings
文档操作 GET /index/_doc/id, POST /index/_doc, DELETE /index/_doc/id
搜索 _search, _msearch, _count, _termvectors
分片 / 副本 _cat/shards, _cluster/reroute, _recovery

# 🔹 总结

  • Elasticsearch 是 分布式搜索与分析平台,通过 集群 → 节点 → 索引 → 分片 → 文档 的层级管理数据。
  • 主分片和副本分片是保证高可用和可扩展的核心机制。
  • 节点角色不同,功能不同,企业部署中通常 Master + Data + Ingest 分开。
  • 熟悉 _cat 系列 API 和 _cluster API 是运维和排障的基础。


# 🟢 Elasticsearch 7.17 企业级运维一页表

模块 命令 / URL 说明 建议阈值 / 注意事项
集群健康 _cluster/health?pretty 查看集群状态、节点数、分片活跃度 status=green,active_shards_percent_as_number>99%
节点列表 _cat/nodes?v 查看每个节点资源、角色、负载 heap.percent < 75%,ram.percent < 80%
主节点 _cat/master?v 当前 master 节点信息 避免单 master 单点故障
索引列表 _cat/indices?v 查看索引状态、主副本、文档数、存储量 pri/rep 合理配置,store.size < 磁盘总量 80%
分片状态 _cat/shards?v 查看分片分布及状态 所有分片状态应为 STARTED,UNASSIGNED 需关注
节点统计 _nodes/stats?pretty 节点 CPU、内存、磁盘、线程池详细信息 重点监控 JVM 堆、磁盘空间、线程池队列
JVM 监控 _nodes/stats/jvm?pretty 查看堆内存、GC 次数和时间 JVM 堆使用 < 75%,GC频繁需排查
线程池监控 _cat/thread_pool?v 查看索引、搜索、bulk 等线程池使用情况 队列长度高说明瓶颈
慢查询 _cat/slowlog?v 查看慢查询记录 定期优化查询或增加索引
索引分片配置 _stats / 创建索引时指定 shards/replicas 查看索引主副本、文档数量、存储大小 主分片数量与数据量匹配,副本数≥1
重新分片 _cluster/reroute 手动分片迁移 分片均衡、避免节点磁盘满
删除索引 DELETE /index-name 删除历史索引 可结合 ILM 自动管理
日志路径 /var/log/elasticsearch/ 查看 elasticsearch.log / gc.log 关注 GC、错误和警告
集群排障流程 1. _cluster/health → 2. _cat/nodes → 3. _cat/shards → 4. 查看日志/线程池/JVM → 5. 调整分片/节点 遇到集群红色或节点异常快速定位 优先保证 master 节点健康

# 🔹 运维小技巧

  1. 应用配置:
    • 至少配置 2~3 个节点 IP 或 VIP 连接 ES,保证 failover。
  2. 分片管理:
    • 数据量大,索引分片数量按 30~50GB/主分片配置。
  3. 性能监控:
    • JVM Heap、CPU、磁盘、线程池队列需定期监控。
  4. 自动化管理:
    • 使用 ILM 管理索引生命周期(滚动、删除、迁移)。
  5. 日志分析:
    • 定期分析 slowlog、elasticsearch.log、gc.log,排查慢查询、OOM、节点离线。
微信 支付宝
上次更新: 2026/04/29, 17:14:21

← 使用docker构建ElasticSearch集群 kafka介绍→

最近更新
01
debian 12安装kubernetes
04-22
02
认知
03-30
03
人生三观
03-30
更多文章>
Theme by Vdoing | Copyright © 2019-2026 | 点击查看十年之约 | 鄂ICP备2024072800号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式