「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

相关推荐
瀚高PG实验室13 分钟前
SQL优化案例:存储过程、复杂SQL拆成简单SQL提升整体性能
数据库·sql·postgresql·瀚高数据库
winfredzhang22 分钟前
从零构建家庭照片管理系统:Django 模块化单体实战,以及我踩到的 4 个真实坑
python·postgresql·django·sqlite·bootsrap
Wang's Blog26 分钟前
PostgreSQL笔记36:执行计划基础解读与优化器成本模型
数据库·笔记·postgresql
李昊哲小课28 分钟前
大模型应用开发课程 —— 项目 09~12 完整教程
大数据·人工智能·大模型
回眸&啤酒鸭30 分钟前
【回眸】Grok 4.6 核心能力落地与实战应用指南
大数据·人工智能
jyOverQ35 分钟前
LangGraph 流式执行详解:stream、astream 与 stream_mode 怎么选?
python·langchain
Wang's Blog36 分钟前
PostgreSQL笔记35:索引常见问题诊断与解决方案全景解析
数据库·笔记·postgresql
LayZhangStrive39 分钟前
后端通识 - 后端开发职位接触的开发流程
数据库·prd·技术方案·库表设计·后端开发流程
小谢取证1 小时前
实战案例分享:用 AI 绕过模拟器反取证进行动态抓包,落地 APK 真实 IP
大数据·网络·人工智能
闲猫1 小时前
LangGraph / Capabilities / Stores
python·agent·langgraph