Elasticsearch 写入失败的原因有很多,通常可以从集群状态、资源限制、配置错误、数据问题、权限几个维度来排查。下面按常见原因 → 表现 → 排查/解决办法来说明。
index.write 被阻塞,写入直接失败GET _cluster/health
GET _cat/shards?v
number_of_replicas)Elasticsearch 有磁盘保护机制:
low watermark(默认 85%):不再分配新分片
high watermark(默认 90%):副本分片迁移
flood stage(默认 95%):只读,写入失败
报错示例:
index [xxx] blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];
# 清理磁盘后解除只读
PUT _all/_settings
{
"index.blocks.read_only_allow_delete": null
}
index_not_found_exception
action.auto_create_index: true
mapper_parsing_exception
string,后写 objectkeyword 长度超限ignore_malformedhttp.max_content_length(默认 100MB)http.max_content_length: 200mb
EsRejectedExecutionException
thread_pool.write.queue_sizesecurity_exception
create, index, write 权限_id 且版本冲突{
"status": 409,
"error": "version_conflict_engine_exception"
}
GET _nodes/stats/jvm
GET _cluster/health 是否 red如果你能贴出具体的报错信息或写入方式(REST / Java / Logstash / Filebeat),我可以直接帮你定位到准确原因。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。