ElasticSearch 因为磁盘空间不够引起的数据插入错误

错误描述: ElasticSearch 因为磁盘空间不够引起的数据插入错误。(message [ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];]])

当使用Logstash将MySQL中的数据采用到ES索引中: 出现以下问题, 昨天还可以正常采集mysql数据库中的信息, 今天报了错,解决方案如下:
在这里插入图片描述

问题原因:

索引变成了只读

index read-only / allow delete (api)];"}

经过分析,发现是因为ES所在服务器磁盘空间太低引起,具体解决方案如下:任选一, 我是使用方案二解决的! 一旦在存储超过95%的磁盘中的节点上分配了一个或多个分片的任何索引,该索引将被强制进入只读模式

方案一:

在kibana开发控制台执行下面语句即可:

PUT _settings
{
  "index": {
    "blocks": {
      "read_only_allow_delete": "false"
    }
  }
}

或者
如果kibana无法执行命令,可以使用下面命令解决

curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

方案二:

我使用的就是这种方式:

可以理解就是索引是只读模式,所以填入数据失败。因为默认没改过路径,实际存储应该在ES目录下面。去看ES的启动盘,发现基本已经满了。可能确实因为存储空间的原因。

参照这篇文档

  • 找到es的配置文件 elasticsearch.yml,把存储数据的路径改为其它空间比较大的盘符。
  • 找到path.data路径,取消掉注释,并且指向新的可用空间较大的盘符。重新启动ES,再插入数据,问题解决。

在这里插入图片描述

在这里插入图片描述

这样就可以成功采集数据库中的信息了!

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

white camel

感谢支持~

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

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

打赏作者

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

抵扣说明:

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

余额充值