「ES数据迁移可视化工具(Python实现)」支持7.x索引数据互传

工具概述

这是一个用于 Elasticsearch 7x 的数据迁移 Python 脚本,支持以下功能:

  • 跨集群数据迁移(支持认证)
  • 按索引前缀或精确名称筛选迁移
  • 批量处理(可配置批量大小)
  • 自动创建目标索引(保留源索引结构)
  • 实时进度显示和性能统计

功能特性

核心功能

✅ 完整的索引结构和数据迁移

✅ 支持源和目标集群不同认证信息

✅ 断点续传能力

✅ 详细的迁移报告

筛选功能

🔍 按索引前缀筛选(--index-prefix)

🔍 按精确索引名筛选(--index-filter)

🔍 支持同时使用两种筛选方式

性能监控

📊 实时显示迁移速度

📊 每个索引的进度条

📊 迁移完成后的详细统计

环境要求

  • Python 3.6+
  • 以下Python包
  • elasticsearch==7.15.2(你使用的版本)
  • tqdm==4.62.3

安装依赖:

bash 复制代码
pip install elasticsearch==7.15.2 tqdm==4.62.3

使用说明

基本命令

复制代码
python es_migration.py \
    --source-host <源ES地址> \
    --source-user <源用户名> \
    --source-pass <源密码> \
    --target-host <目标ES地址> \
    --target-user <目标用户名> \
    --target-pass <目标密码> \
    [其他参数]

参数说明

参数 必选 说明 示例
--source-host 源ES地址 http://192.168.1.210:9200
--source-user 源ES用户名 elastic
--source-pass 源ES密码 yourpassword
--target-host 目标ES地址 http://192.168.1.136:9200
--target-user 目标ES用户名 elastic
--target-pass 目标ES密码 yourpassword
--batch-size 每批处理的文档数(默认5000) 10000
--scroll-keepalive scroll API保持时间(默认15m) 30m
--index-filter 精确匹配的索引名(可多个) index1 index2
--index-prefix 索引名前缀匹配 logs.

使用示例

复制代码
python es_migration.py --source-host http://192.168.1.210:9200 --source-user elastic --source-pass pass@2025 --target-host http://192.168.1.136:9200 --target-user elastic --target-pass pass@2025 --batch-size 5000 --scroll-keepalive 15m --index-prefix "log."

输出说明

脚本运行时将显示:

  • 连接测试结果
  • 发现的索引数量和列表
  • 每个索引的迁移进度条
  • 实时迁移速度
  • 已迁移文档数/总文档数

迁移完成后将生成报告:

  • 开始和结束时间
  • 总耗时
  • 成功/失败的索引列表
  • 平均迁移速度

源码下载:https://download.csdn.net/download/MaYuKang/90677592?spm=1001.2014.3001.5503

相关推荐
阿里云大数据AI技术1 小时前
Flink Forward Asia 2026 深圳启幕:Agentic Streaming for AI,开启实时智能新范式
大数据·flink
ServBay15 小时前
9 个 Python 第三方库推荐,不用 AI 都好像多出一个团队
后端·python
用户83562907805115 小时前
如何使用 Python 添加和管理 Excel 批注(完整示例)
后端·python
用户83562907805115 小时前
使用 Python 管理 Excel 工作表:创建、复制、删除与重命名
后端·python
SelectDB15 小时前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶16 小时前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵19 小时前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils20 小时前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
Elasticsearch1 天前
Elasticsearch ES|QL:现已支持视图、子查询和读取时模式定义
elasticsearch
荣码1 天前
LangGraph多Agent协作:3个Agent干活比1个强,但我踩了4个坑
java·python