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
	#停止es
	kill -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
  }
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值