Elasticsearch(ES)故障排查一般遵循**“先看集群状态 → 再查节点/分片 → 再看日志 → 最后定位具体场景”的思路。下面给你一套实用排查手册**,适合运维和开发人员。
GET /_cluster/health?pretty
重点关注:
status
green:正常yellow:副本未分配(通常可用)red:主分片丢失(有数据不可用)unassigned_shards:未分配分片数number_of_pending_tasks:堆积任务GET /_cluster/state?pretty
GET /_cluster/stats?pretty
GET /_cat/nodes?v
GET /_nodes/stats?pretty
关注:
heap_used_percent(建议 < 85%)missing 或频繁掉线GET /_cat/allocation?v
常见错误:
disk watermark exceededindex.blocks.read_only_allow_delete)解决示例:
PUT /_cluster/settings
{
"transient": {
"cluster.routing.allocation.disk.threshold_enabled": false
}
}
(生产环境要谨慎)
GET /_cat/shards?v
GET /_cat/indices?v
常见问题:
UNASSIGNED 分片INITIALIZING 长时间不变RELOCATING 卡住GET /_cluster/allocation/explain?pretty
会直接告诉你:
GET /索引名/_settings
GET /索引名/_mapping
常见问题:
index.mapping.total_fields.limit)$ES_HOME/logs/elasticsearch.loggc.log重点看:
WARN / ERROROutOfMemorycircuit_breaking_exceptionmaster not discoveredGET /_nodes/stats/jvm?pretty
关注:
可能原因:
排查:
GET /_cluster/allocation/explain
常见原因:
优化:
PUT /索引名/_settings
{
"index.refresh_interval": "30s"
}
排查:
GET /索引名/_search
{
"profile": true
}
可能:
看:
GET /_cat/nodes?v&h=name,heap.percent,ram.percent,load_1m,disk.used_percent
elasticsearch-exporter集群状态
↓
节点 / 磁盘 / 内存
↓
分片分配 explain
↓
索引 / mapping
↓
ES 日志 + GC
如果你愿意,可以告诉我:
我可以帮你针对性分析具体故障原因。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。