首页 > 其他分享 >ES的自我保护机制,磁盘超过多少会进入只读模式,怎么解决

ES的自我保护机制,磁盘超过多少会进入只读模式,怎么解决

时间:2024-09-26 08:52:42浏览次数:10  
标签:只读 模式 磁盘空间 Elasticsearch 磁盘 节点 ES

Elasticsearch 的自我保护机制确保集群在面对潜在问题时保持稳定性和数据安全。具体到磁盘使用率,以下是相关细节:

1. 自我保护机制

  • 磁盘空间监控:Elasticsearch 定期检查每个节点的磁盘使用率。
  • 只读模式:当节点的磁盘使用达到 95% 时,Elasticsearch 会自动将该节点设置为只读模式,以防止写入操作,确保数据安全和集群稳定。

2. 磁盘使用阈值

  • 85%:发出警告,建议释放空间。
  • 90%:开始阻止新的索引请求。
  • 95%:进入只读模式,阻止所有写入操作。

3. 解决方案

一旦节点进入只读模式,可以采取以下措施:

a. 释放磁盘空间
  • 删除旧索引:使用以下命令删除不再需要的索引:
    DELETE /index_name
    
  • 清理快照:如果使用了快照,确保清理不再需要的快照数据。
b. 增加磁盘容量
  • 扩展磁盘:增加物理或虚拟机的磁盘空间。
  • 挂载新磁盘:将新的存储设备挂载到节点上。
c. 重新启用写入

一旦释放了足够的磁盘空间,可以使用以下命令将节点从只读模式中恢复:

PUT /_cluster/settings
{
  "persistent": {
    "cluster.blocks.read_only_allow_delete": null
  }
}

使用 curl 命令恢复 Elasticsearch 中的只读模式,以下是具体步骤:

恢复只读模式

  1. 确保节点已释放足够的磁盘空间:在恢复之前,请确保磁盘使用率已经降到安全范围(通常低于 90%)。

  2. 使用 curl 恢复只读模式
    可以使用以下命令将集群从只读模式恢复:

    curl -u <username>:<password> -X PUT "http://<your-es-host>:9200/_cluster/settings" -H 'Content-Type: application/json' -d '{
      "persistent": {
        "cluster.blocks.read_only_allow_delete": null
      }
    }'
    
    • <your-es-host> 替换为您的 Elasticsearch 主机名或 IP 地址。
    • 确保在命令中添加 -H 'Content-Type: application/json',以设置请求头。

检查恢复状态

您可以通过以下命令检查集群的健康状态,确保恢复成功:

curl -u <username>:<password> -X GET "http://<your-es-host>:9200/_cluster/health?pretty"

这将返回集群的健康状态和信息。

小提示

  • 如果您有多个节点,确保在所有节点上都释放了足够的磁盘空间。
  • 监控 Elasticsearch 的磁盘使用情况,防止再次进入只读模式。

4. 监控与预防

  • 设置监控:使用工具(如 Kibana、Elasticsearch 的监控 API 等)监控磁盘使用情况,提前采取措施。
  • 优化索引:定期优化索引,删除不必要的数据,保持磁盘使用率在安全范围内。

标签:只读,模式,磁盘空间,Elasticsearch,磁盘,节点,ES
From: https://blog.csdn.net/yxyc666/article/details/142493890

相关文章

  • ELK中日志数据采集器Filebeat的安装和使用、Filebeat结合Logstash进行日志处理入Elast
    一、ELK中日志数据采集器Filebeat的安装和使用    Beats是数据采集的得力工具,Beats能够将数据转发至Logstash进行转换和解析。Filebeat是Beats中的一种,Filebeat是本地文件的日志数据采集器,可监控日志目录或特定日志文件(tailfile),并将它们转发给Elasticsearch或Logstats......
  • Codeforces Round 964 (Div. 4)A~G1
    CodeforcesRound964(Div.4)A~G1A.A+BAgain?签到//AConemoretimes//nndbk#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintmod=1e9+7;constintN=2e5+10;intmain(){ios::sync_with_stdio(false);ci......
  • Codeforces Round 973 (Div. 2)
    C.PasswordCracking(C)若字符串只向一个方向延伸,则一定能通过\(2n\)次询问获得结果;可以先向后猜测,当该侧继续添加字符1与0都不符合要求时、说明已经到达字符串末端,继续询问前缀即可。voidsolve(){intn;cin>>n;strings="";boolflag=0;w......
  • abap-platform-refscen-flight SAP ABAP RESTful 应用程序编程模型的
    ABAPFlightReferenceScenariofortheABAPRESTfulApplicationProgrammingModelTheABAPRESTfulApplicationProgrammingModel(RAP)definesthearchitectureforefficientend-to-enddevelopmentofintrinsicallySAPHANA-optimizedFioriapps.Itsuppor......
  • 使用 Vue3、TypeScript 和 Spring Boot 实现文件上传至 MinIO 和 OSS
    目录《使用Vue3、TypeScript和SpringBoot实现文件上传至MinIO和OSS》一、技术选型二、环境搭建三、前端实现四、后端实现五、代码解析在现代web应用开发中,文件上传是一个常见的需求。本文将介绍如何使用Vue3、TypeScript和SpringBoot实现文件上传功能,并......
  • 通过 Docker 和 Kubernetes 部署前后端代码到服务器
    目录通过Docker和Kubernetes部署前后端代码到服务器一、准备工作二、创建Docker镜像三、部署到Kubernetes四、访问应用程序五、总结在现代软件开发中,Docker和Kubernetes已成为部署应用程序的强大工具。它们提供了一种可靠、可扩展和高效的方式来将前后端代......
  • Codeforces Round 971 (Div. 4)A~G1
    CodeforcesRound971(Div.4)A~G1A.Minimize!签到不多说。//AConemoretimes//nndbk#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintmod=1e9+7;constintN=2e5+10;intmain(){ ios::sync_with_stdio(false......
  • x509: cannot validate certificate for 192.168.0.56 because it doesn't contain an
    containerd里无法拉取镜像无法从私建的harbor上拉取报错FATA[0000]pullingimage:rpcerror:code=Unknowndesc=failedtopullandunpackimage x509:cannotvalidatecertificatefor192.168.0.56becauseitdoesn'tcontainanyIPSANs 若是配置之后还是一直报x5......
  • C#生产制造执行系统(MES)源码
    一、源码描述C#生产制造执行系统(MES)可以划分生产线为:产线-工艺段-工序三段式,并且动态可配置,可以使得系统满足产线流程的变化。即使产线流程更改只需少量改动就能很好的适应。整体功能比较完善,可以很方便的进行二次开发使用。二、功能介绍该源码的功能具体介绍如下:1、......
  • PAT甲级-1115 Counting Nodes in a Binary Search Tree
    题目 题目大意给定节点个数,以及每个节点的值,要求构造一棵二叉排序(搜索)树,并按照规定格式输出最后一层和倒数第二层的节点个数。思路二叉排序树的构造方法是递归,但思路类似于二分查找。逐个将n个节点插入到二叉排序树中,插入完成也就构造完成了。插入节点时,如果该节点值大于......