es教程 关于磁盘不足导致的[FORBIDDEN/12/index read-only / allow delete (api)] - read only elasticsearch indices

缘起

在搭建好查询以后,我尝试着通过springboot项目向es中加入数据,但是一直提示以下异常:

[FORBIDDEN/12/index read-only / allow delete (api)] - read only elasticsearch indices

新手学习应该有很大几率碰到这个问题,特此记录

原因排查

查找了一些资料,原因在于硬盘空间不足,也确实如此,删除了冗余的东西以后疼出来一些空间,然而还是不行,需要手动设置一些东西。

通过查看日志文件,发现在之前就已经警告过了,只不过当时没有留意:

[2020-05-22T11:21:08,646][WARN ][o.e.c.r.a.DiskThresholdMonitor] [o4cZvrD] flood stage disk watermark [95%] exceeded on [o4cZvrD2RiCOItHhZpkieQ][o4cZvrD][\data\nodes\0] free: 15mb[0%], all indices on this node will be marked read-only

在这里插入图片描述

解决方案

  1. 腾出更大的空间无疑是必须的,据说使用空间大于95%就会出现这个问题。
  2. 有时间捣鼓的可以重新解压一份出来,新解压的会重新计算硬盘空间,也是据说,之前的es在空间满足要求之后不会自动解决这个问题。
  3. 修改配置,官方地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/disk-allocator.html
    以下提供了三种情况下的配置,具体配置:
#1.更新所有节点下配置(初次使用推荐)
PUT /_all/_settings
{
  "index.blocks.read_only_allow_delete": null
}
#2.更新twitter节点下配置(已新建节点情况下推荐)
PUT /twitter/_settings
{
  "index.blocks.read_only_allow_delete": null
}
#3.通用配置,node为你的节点名称
PUT /<node>/_settings
{
  "index.blocks.read_only_allow_delete": null
}

可使用postman或者其它接口调试工具进行访问。

以上是三种方式解决不同情况下的问题,因为我是第一次接触,还没有新建节点,故此,选择对所有节点更新,更新后立即生效,重新插入,提示插入成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰夏之夜影

赠人玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值