使用 Elasticsearch Dump 工具进行生产环境到测试环境的数据迁移与备份

es-dump 是 Elasticsearch 的一个实用工具,专门用于从 Elasticsearch 集群中导出或导入数据,支持数据、映射、别名、模板等多种类型的数据操作。它在数据迁移、备份、恢复等场景中非常实用。本文将展示如何使用 es-dump 工具执行生产到测试环境的索引复制,以及备份数据到本地文件或云存储服务中。

1. 复制索引从生产到测试环境

在某些情况下,我们需要将生产环境中的 Elasticsearch 索引迁移到测试环境。可以通过以下步骤将生产环境中的分析器、映射和数据导出并导入到测试环境中。

导出并导入分析器:
elasticdump \--input=http://production.es.com:9200/my_index \--output=http://staging.es.com:9200/my_index \--type=analyzer
导出并导入映射:
elasticdump \--input=http://production.es.com:9200/my_index \--output=http://staging.es.com:9200/my_index \--type=mapping
导出并导入数据:
elasticdump \--input=http://production.es.com:9200/my_index \--output=http://staging.es.com:9200/my_index \--type=data

通过上述命令,你可以完整地将生产环境的 my_index 复制到测试环境的 my_index 中,包含索引的分析器、映射和数据。

2. 备份索引到文件

在进行索引备份时,可以将索引的映射和数据导出到本地文件中,以便稍后进行恢复。

备份索引映射到 JSON 文件:
elasticdump \--input=http://production.es.com:9200/my_index \--output=/data/my_index_mapping.json \--type=mapping
备份索引数据到 JSON 文件:
elasticdump \--input=http://production.es.com:9200/my_index \--output=/data/my_index.json \--type=data

3. 使用 gzip 压缩备份

如果索引数据量较大,建议通过压缩方式来备份数据。以下命令将数据备份到 gzip 压缩文件中:

elasticdump \--input=http://production.es.com:9200/my_index \--output=$ \| gzip > /data/my_index.json.gz

4. 查询数据备份

在某些情况下,你可能只需要备份符合特定查询条件的数据。可以使用 searchBody 参数来指定查询条件:

备份查询结果到文件:
elasticdump \--input=http://production.es.com:9200/my_index \--output=query.json \--searchBody='{"query":{"term":{"username": "admin"}}}'

5. 拆分备份文件

对于大规模索引,可以将数据拆分成多个部分进行备份。使用 fileSize 参数来限制每个文件的大小:

elasticdump \--input=http://production.es.com:9200/my_index \--output=/data/my_index.json \--fileSize=10mb

6. 云存储上的导入导出

有时你可能需要将数据导入或导出到云存储(如 S3 或 Minio)中。elasticdump 也支持这种操作。

从 S3 导入数据到 Elasticsearch:
elasticdump \--s3AccessKeyId "${access_key_id}" \--s3SecretAccessKey "${access_key_secret}" \--input "s3://${bucket_name}/${file_name}.json" \--output=http://production.es.com:9200/my_index
将数据从 Elasticsearch 导出到 S3:
elasticdump \--s3AccessKeyId "${access_key_id}" \--s3SecretAccessKey "${access_key_secret}" \--input=http://production.es.com:9200/my_index \--output "s3://${bucket_name}/${file_name}.json"

7. 使用 CSV 数据导入 Elasticsearch

你也可以将 CSV 文件中的数据导入到 Elasticsearch 中。以下命令展示了如何处理 CSV 文件的导入:

elasticdump \--input "csv:///data/cars.csv" \--output=http://production.es.com:9200/my_index \--csvSkipRows 1 \--csvDelimiter ";"

这里的 --csvSkipRows 参数用于跳过 CSV 文件中的指定行,--csvDelimiter 用于定义 CSV 文件的列分隔符。

elasticdump 提供了强大的导入导出功能,帮助用户轻松地进行数据备份、恢复、索引迁移等操作。无论是将索引从生产环境迁移到测试环境,还是将数据备份到本地文件或云存储中,elasticdump 都能为你提供灵活的解决方案。

通过合理使用这些功能,你可以显著提高 Elasticsearch 集群的维护和管理效率,确保数据的安全性与可用性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/882193.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【学习】word保存图片

word中有想保存的照片 直接右键另存为的话,文件总是不清晰,截屏的话,好像也欠妥。 怎么办? 可以另存为 网页 .html 可以得到: 原图就放到了文件夹里面

Selenium 中定位元素操作集合

Selenium中元素的定位与操作 在 Selenium 中定位单个元素一般通过 find_element 方法来实现,一组数据则是 find_elements (定位时应该元素加载完整再 再定位,否则可能会出现找不到对应元素的情况出现。这里可以使用 time.sleep() 来实现等待…

C++简易日志系统:打造高效、线程安全的日志记录工具

目录 引言: 1.日志的基本概念 1.1.什么是日志? 1.2.我们为什么需要日志? 2.自己实现一个简易日志 2.1.日志的等级 2.2日志的格式 2.3.获取时间的方法 2.4.日志的主体实现 参数: 代码解析: 问题&#xff1a…

【ssh 密钥生成】添加后提示无权限

记录下又一个感觉自己是菜菜的事件; 我根据教程在新电脑生成了 ssh 密匙,也在页面添加了ssh密匙; 但是下载代码的时候就提示权限不对,下载不下来; 百度了一堆办法,还是不行,然后大佬来&#…

solid wrok笔记记录

1.平移 crtl鼠标滚轮 2.放大缩小 鼠标滚轮滚动 3.旋转 按住鼠标滚轮 4.正视 右键 选择 5。多选 ctel 框选。。。 6. 选项卡 右上角空白处右键 7.草图,剪多余的线段(T),鼠标含住滑动去除 8.草图的线段掰直 选中线段后,左侧窗口的几…

【Scala入门学习】匹配模式match

1. match匹配 match 语句用在当需要从多个分支中进行选择的场景,类似于java 中的switch 语句。 语法: 变量 match{case "值" > 语句块1 // 语句块后不用加breakcase "值2" > 语句块2case _ > 语句块N // 类似于jav…

5、JavaScript(五)

28.jquery:js库 简化版本的js,封装了现成功能的js代码。 jquery就是一些封装好了的现成的方法,供我们直接使用。 jquery能实现的js都能实现。 在使用 记得先引入jquery:在菜鸟教程上直接用jquery的绝对路径引入,jq…

Gin框架操作指南03:HTML渲染

官方文档地址(中文):https://gin-gonic.com/zh-cn/docs/ 注:本教程采用工作区机制,所以一个项目下载了Gin框架,其余项目就无需重复下载,想了解的读者可阅读第一节:Gin操作指南&#…

java游戏网站源码

题目:java游戏网站源码 编号B22A390 主要内容:毕业设计(Javaweb项目|小程序|Mysql|大数据|SSM|SpringBoot|Vue|Jsp|MYSQL等)、学习资料、JAVA源码、技术咨询 文末联系获取 感兴趣可以先收藏起来,以防走丢,有任何选题、文档编…

什么是 BloomFilter

什么是 BloomFilter 布隆过滤器(英语:Bloom Filter)是 1970 年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。主要用于判断一个元素是否在一个集合中。 通常我们会遇到很多要判断一个元素是否在某个集合中的业务场景&a…

Cocos Creator导出obj文件用于后端寻路

Cocos Creator 3.8.0 用这个扩展插件 【杨宗宝】两年前写的网格工具,今天将它开源了。 - Creator 3.x - Cocos中文社区carlosyzy_extensions_mesh: Cocos Creator 3.x mesh插件,负责网格数据的导出。合并,拆封等一系列操作 (gitee.com) 下…

C++ 标准库:功能与应用解析

C++ 标准库:功能与应用解析 引言 C++ 是一种广泛使用的编程语言,以其高性能和灵活性而著称。C++ 标准库(C++ Standard Library)是 C++ 语言的核心组成部分,提供了一系列预定义的类和函数,用于简化编程任务。本文将深入探讨 C++ 标准库的主要功能和应用,帮助读者更好地…

Shell脚本备份文件

需求:原文件备份,新文件覆盖掉源文件 vue项目打包自动化部署使用 假设已经将打包后得文件复制到了需要覆盖得目录得同级下 #!/bin/bashdst_folder"/home/compose/nginx/html"# 创建备份文件夹 backup_folder"$dst_folder/backup"# …

分类任务中评估模型性能的核心指标

在机器学习尤其是分类任务中,Accuracy(准确率)、Precision(精确率)、Recall(召回率)和F1 Score(F1分数)是评估模型性能的四个核心指标。每个指标都有其独特的含义和用途&…

【艾思科蓝】Imagen:重塑图像生成领域的革命性突破

【连续七届已快稳ei检索】第八届电子信息技术与计算机工程国际学术会议(EITCE 2024)_艾思科蓝_学术一站式服务平台 更多学术会议请看 学术会议-学术交流征稿-学术会议在线-艾思科蓝 目录 引言 一、Imagen模型的技术原理 1. 模型概述 2. 工作流程 …

PHP-FPM和FastCGI

文章目录 前言一. FastCGI1.定义2.工作方式3.协议4.架构5.工作原理(请求生命周期) 二. PHP-FPM1.定义:2.特性3.进程管理模式4.工作流程 三.关系与应用四.配置示例五.性能优化六.配置选项七.常见问题及解决方案 前言 PHP-FPM 是基于 FastCGI …

排序基础方法

逆序(inversion) 一个序列中存在元素对,顺序与理想顺序相反 注意事项 算法的空间复杂度,即便graph本身要花费VE,但是DFS是V,只考虑自身要用的。 Selection Sort(选择排序) 方法 不断选择最…

牛客编程初学者入门训练——BC53 判断是元音还是辅音

BC53 判断是元音还是辅音 描述 KiKi开始学习英文字母,BoBo老师告诉他,有五个字母A(a), E(e), I(i), O(o),U(u)称为元音,其他所有字母称为辅音,请帮他编写程序判断输入的字母是元音(Vowel)还是辅音&#x…

vue3+ElementPlus+Table+Fixed属性导致行背景颜色失效

1.修改表格偶数行多选框背景颜色(静态) :deep(.el-table__body-wrapper tr:nth-child(even) td.el-table-fixed-column--left) {background: #1d2745; } 2.修改表格偶数行背景颜色(静态) :deep(.el-table__body-wrapper tr:nth…

如何在算家云搭建Video-Infinity(视频生成)

一、模型介绍 Video-Infinity是一个先进的视频生成模型,使用多个 GPU 快速生成长视频,无需额外训练。它能够基于用户提供的文本或图片提示,创造出高质量、多样化的视频内容。 二、模型搭建流程 1.大模型 Video-Infinity 一键使用 基础环境…