当前位置: 首页 > news >正文

elasticsearch7.15节点磁盘空间满了迁移数据到新磁盘

一.数据安全迁移

在 Elasticsearch 中设置某个节点临时不可用(例如进行维护或升级),可以通过以下步骤安全地操作,避免数据丢失或集群状态异常

  • 1: 排除节点分片分配,触发分片迁移到其他节点

    PUT /_cluster/settings
    {"transient": {#"cluster.routing.allocation.exclude._ip": "目标节点的IP",# 或使用节点名称"cluster.routing.allocation.exclude._name": "节点名称"# 或使用节点ID# "cluster.routing.allocation.exclude._id": "节点ID"}
    }
    

    执行后,Elasticsearch 会开始将此节点上的分片迁移到其他节点。

    使用 GET /_cluster/settings 检查设置是否生效。

  • 2: 等待分片迁移完成

    检查分片分配状态,直到目标节点的分片数为 0:

    GET /_cat/shards?h=index,shard,prirep,state,node&format=json
    
  • 3.停止节点服务

    #切换到es用户,查询elasticsearch进程
    ps aux|grep elasticsearch
    #停止es
    kill -9 pid
    
  • 4.修改配置文件

    修改安装目录/config/elasticsearch.yml文件

    path.data: /es/data
    
  • 5.维护完成后恢复节点
    启动节点服务,进入安装目录,执行命令:

    bin/elasticsearch -d
    

    移除分片分配排除规则:

    PUT /_cluster/settings
    {"transient": {"cluster.routing.allocation.exclude._name": null}
    }
    
  • 注意事项

  • 主节点(Master Node):如果目标节点是主节点,确保集群中还有其他可用主节点。

  • 强制停机风险:直接关闭节点而不迁移分片可能导致集群变黄/红(部分数据不可用)。

  • 大集群耗时:分片迁移可能较慢,取决于数据量和网络。

二. 数据不安全方式迁移

2.1 设置集群不自动恢复分片

  • 查询集群设置:

    GET _cluster/settings
    
  • 设置集群不自动恢复分片:

    PUT _cluster/settings
    {"persistent": {"cluster.routing.allocation.enable": "none"}
    }
    

说明:禁用分片自动分配,避免节点下线时触发数据迁移。

2.2. 停止当前节点服务

    #切换到es用户,查询elasticsearch进程ps aux|grep elasticsearch#停止eskill -9 pid

2.3 复制数据并修改配置

复制数据:

sudo cp -rp /原数据目录/* /新数据目录/

确保 Elasticsearch 配置中 path.data 已指向新目录,否则需修改 elasticsearch.yml:

path.data: /es/data

2.4 维护完成后恢复节点:

启动节点服务,进入安装目录,执行命令:

bin/elasticsearch -d

设置集群自动恢复分片:

PUT _cluster/settings
{"persistent": {"cluster.routing.allocation.enable": null}
}

说明:恢复分片自动分配,允许集群重新平衡数据。

http://www.dtcms.com/a/147313.html

相关文章:

  • 【系统架构设计师】信息安全的概念
  • 每天学一个 Linux 命令(30):cut
  • OpenFeign 使用教程:从入门到实践
  • 线性代数-矩阵的秩
  • jvm-获取方法签名的方法
  • redis常用的五种数据类型
  • 如何使用UE Cesium插件实现网页端无算力负担访问?
  • Spring MVC 一个简单的多文件上传
  • 用自然语言指令构建机器学习可视化编程流程:InstructPipe 的创新探索
  • iTwin Tools函数拆解
  • Hiera:一款简洁的层次化视觉transformer
  • 基于SA模拟退火算法的车间调度优化matlab仿真,输出甘特图和优化收敛曲线
  • 楼宇自控怎样推动能源高效利用与建筑设备的科学管理
  • 【python】 循环语句(while)
  • 【Linux网络】应用层自定义协议与序列化
  • 10天学会嵌入式技术之51单片机-day-3
  • 文件的物理结构和逻辑结构的区分
  • 编译原理实验(四)———— LR(1)分析法
  • 《小型支付商城系统》学习记录
  • 【matlab】地图上的小图
  • 解决方案:远程shell连不上Ubuntu服务器
  • 阿里云人工智能大模型MCP协议
  • 薪技术|0到1学会性能测试第19课-参数化技术之导入数据
  • 正计数为倒计数(STC89C52单片机)
  • 实践项目开发-hbmV4V20250407-React+Taro多端项目依赖冲突解决方案
  • ESP8266_ESP32 Smartconfig一键配网功能
  • python全栈-flask
  • 【CUDA 】第5章 共享内存和常量内存——5.2 共享内存的数据分布(2)
  • 七、小白如何用Pygame制作一款跑酷类游戏(碰撞检测)
  • Python第二周作业