网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

Elasticsearch索引写不进去?是不是触发了这个神秘限制?

GG网络技术分享 2026-01-23 08:52 3


踩坑记:Elasticsearch 索引写不进去了?可Neng是触碰了这个隐藏限制

文章浏览阅读623次。排查发现是由于应用所在服务器磁盘使用达到了98%,导致ES服务触发保护机制,将索引设置为了只读模式。清理磁盘文件,腾出空间。关闭ES的索引只读模式。

背景:一个令人崩溃的深夜

事情是这样的, Springboot正常运行中,应用的某个功Neng突然就嗝屁了直接挂掉!应用日志里报错信息像一堆乱码一样, 再说说勉强翻译出来发现是 org.elasticsearch.ElasticsearchStatusException 抛出的异常! 我当时就觉得头大,这玩意儿我搞了一年多了hen少出现这种状况啊,呵...!

初步诊断:只读模式的阴影

经过一番折腾,终于查到关键信息:ElasticSearch进入 只读 模式,只允许删除!ES说明文档里有写明,当ES数据所在目录磁盘空间使用率超过90%后,ES就会修改为只读状态! 蚌埠住了... 这下我知道了大概原因了——磁盘空间不足导致es自动关闭了索引的写功Neng。 dan是我明明记得服务器的空间还挺大的啊... 难道是幻觉?

可Neng的原因分析

改进一下。 根据多方查询资料,可Neng造成原因如下:

  1. 内存不足:JVMMemoryPressure 超过92%并持续30分钟时,ES触发保护机制,阻止写入操作。为了防止集群变成红色预警状态!
  2. 磁盘空间告急:一旦存储超过95%的磁盘中的节点上分配了一个或多个分片的ren何索引,该索引将被强制进入只读模式。
  3. 还有一种说法是…嗯…忘了…反正就是跟配置有关。

深入排查:磁盘空间的真相

用了 `df -h` 命令一kan……我去! 原来是服务器硬盘被塞满了!! 满的!! 根本没地方放东西啊! 之前一直以为有足够的空间呢…哎…人的记忆真是不可靠,我跪了。。

cluster.name 的一些吐槽

cluster.name : elastic_dev , node.name : node-1 , cluster.uuid : YYLlu3HoRM-rh_T4PPwjFQ , node.id : 94avg-PQRn6LLbX10q-vJQ , message : low disk watermark exceeded on free: 5gb, replicas will not … 这cluster name也太普通了吧!以后得改个特bie点的…,醉了...

解决方案:清理垃圾, 重获新生

深得我心。 解决办法其实hen简单粗暴——清理磁盘文件,腾出空间! 我把一些不必要的文件dou删掉了ran后重启了ES服务。

如何关闭 ES 的索引只读模式

清理完空间后还需要手动关闭 ES 的索引只读 瞎扯。 模式才Neng恢复正常写入。可yi用这个命令:

curl -XPUT -H Content-Type: application/json -d '{ index.blocks.readonlyallow_delete : null}'

其他常见问题及解决方法

mapping冲突问题

产品名称价格评分
Logstash免费4.5
Kibana免费4.2
Beats免费3.8

数据建模的重要性

我CPU干烧了。 程序员光剑的博客数据建模是ELasticsearch数据管理、分析及查询的核心工作。一个好的数据模型可yi让你高效地检索、聚合和分析数据。本系列将会教会你用Elasticsearc的数据建模技巧。 数据模型是一个hen重要的话题。 创建索引失败报错 具体报错:org.elasticsearch.ElasticsearchStatusException: Elasticsearch exception please check that any required plugins are installed, or check breaking changes for latest Elasticsearch versions.,栓Q!

再说说的一些碎碎念

往白了说... 当索引不Neng增和改时,tong过此命令,可yikan到readonlyallowdelete为true 把readonlyallowdelete设置为false curl -XPUT -H Content-Type: application/json -d '{ index.blocks.readonlyallowdelete : null}' 1 若觉得对您有所帮助,请帮忙点个赞,谢谢~ 0 Elasticsearch中的索引无法插入新的数据,dan是可yi读取数据和删除数据的解决办法——readonlyallowdelete 现象1报错:FORBIDDEN/12/index read-only / allow delete ES只Neng读和删, 不Neng增和改现象2取出的数据, 排序乱了原因内存不足JVMMemoryPressure超过92%并持续30分钟时, ES触发保护机制, bing且阻止写入操作,


提交需求或反馈

Demand feedback