elasticsearch集群数据索引迁移自动化脚本

本文介绍了如何利用Elasticsearch的snapshot API进行跨集群的数据迁移。首先,修改新老集群的配置文件以设置共享的NFS目录。接着,创建索引快照库,并在两个集群中执行相同操作。最后,提供了一个自动化脚本,通过更换IP地址,实现在A集群和B集群间的数据迁移,确保新集群中数据的完整导入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   日常维护elasticsearch集群会出现新老集群数据迁移,这里使用的是snapshot api是Elasticsearch用于对数据进行备份和恢复的一组api接口,可以通过snapshot api进行跨集群的数据迁移,原理就是从源ES集群创建数据快照,然后在目标ES集群中进行恢复。

1、新老集群修改集群配置文件:

        vim elasticsearch.yml 

        repo: ["/snapshot"]

2、创建NFS共享目录操作省略

        挂载目录:/snapshot        (旧集群和新集群挂载同一个目录并配置权限确保目录有读写权限)

3、创建集群索引快照库:】

        注意旧集群和新集群都需要操作如下展示

post http://192.168.1.1:9201/_snapshot/interface_2_bakup
{
  "type": "fs",
  "settings": {
    "location": "interface_2_bakup",
    "compress": true,
    "max_snapshot_bytes_per_sec" : "20mb",
    "max_restore_bytes_per_sec" : "20mb"
  }
}

 可以通过postman工具操作如下图:

4、自动化迁移数据脚本

迁移数据需要从A集群到B集群,如下脚本,只需要把IP更换为自己两组集群其中任意一个IP地址,数据将A集群导出到两组集群公共目录上同时确保空间充足,导出完毕;然后读取公共目录的数据文件进行导入到新的B集群上,这就是一个数据迁移的过程。脚本如下:

#!/bin/bash
#es节点IP
BACK_IP=192.168.1.1
INPUT_IP=192.168.2.1
#备份,还原索引名称
output_indices=`cat /opt/shell/es_qianyi/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值