「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

相关推荐
_OP_CHEN2 小时前
【测试理论与实践】(九)Selenium 自动化测试常用函数全攻略:从元素定位到文件上传,覆盖 99% 实战场景
自动化测试·python·测试开发·selenium·测试工具·测试工程师·自动化工具
brave_zhao3 小时前
达梦8最终锁阻塞巡检 SQL
数据库
我的xiaodoujiao4 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 38--Allure 测试报告
python·学习·测试工具·pytest
一 乐10 小时前
婚纱摄影网站|基于ssm + vue婚纱摄影网站系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
沈浩(种子思维作者)10 小时前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
njsgcs11 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
io_T_T11 小时前
迭代器 iteration、iter 与 多线程 concurrent 交叉实践(详细)
python
1.14(java)11 小时前
SQL数据库操作:从CRUD到高级查询
数据库
华研前沿标杆游学11 小时前
2026年走进洛阳格力工厂参观游学
python
Carl_奕然12 小时前
【数据挖掘】数据挖掘必会技能之:A/B测试
人工智能·python·数据挖掘·数据分析