Elasticsearch Dump的详细安装和迁移es索引和数据的使用教程

news2025/1/24 22:37:02

前言

如果希望将数据导出到本地文件而不是通过编程方式处理,可以考虑使用Elasticsearch的导出工具,如Elasticsearch Dump(Elasticdump)或Elasticsearch Exporter。这些工具可以将Elasticsearch索引中的数据导出为可用于后续处理的文件格式,如JSON或CSV,本文主要介绍使用Elasticsearch Dump进行索引数据导出的示例:

1 安装Node.js和npm

首先,确保主机已安装Node.js和npm,可以从Node.js官方网站(https://nodejs.org)下载并按照说明进行安装。

要判断当前系统是否已安装Node.js和npm,可以按照以下步骤进行:

  1. 打开终端或命令行界面。

  2. 在终端或命令行中输入以下命令来检查Node.js的版本:

    node -v
    
  3. 输入以下命令来检查npm的版本:

    npm -v
    

根据上述步骤的结果,可以判断当前系统是否已安装Node.js和npm。如果两者都已安装并且显示了版本号,则说明可以在系统上使用它们。如果没有安装或显示错误信息,则需要根据需要安装Node.js和npm。

在这里插入图片描述

2. 安装Elasticsearch Dump

打开终端或命令行界面, 运行以下命令来全局安装Elasticsearch Dump:

  npm install elasticdump -g

在这里插入图片描述

3. 使用Elasticsearch Dump导出索引结构

Elasticsearch Dump支持导出和导入索引的映射(mapping)和设置(settings)

3.1 导出索引设置

elasticdump --input=http://localhost:9200/my_index --output=/path/to/exported_settings.json --type=settings

这将导出"my_index"索引的设置,并保存到指定的JSON文件中。

示例:

elasticdump --input=http://192.168.0.221:11700/cnoa_data_1987051001 --output=E:/elatic_dump/cnoa_data_1987051001_settings.json --type=settings

在这里插入图片描述

3.2 导出索引映射

elasticdump --input=http://localhost:9200/my_index --output=/path/to/exported_mapping.json --type=mapping

这将导出"my_index"索引的映射,并保存到指定的JSON文件中

示例:

elasticdump --input=http://192.168.0.221:11700/cnoa_data_1987051001 --output=E:/elatic_dump/cnoa_data_1987051001_mapping.json --type=mapping

在这里插入图片描述

3.3 导入索引设置

elasticdump --input=/path/to/exported_settings.json --output=http://localhost:9200/new_index --type=settings

这将导入先前导出的设置数据到"new_index"索引中。

示例:

elasticdump --input=E:/elatic_dump/cnoa_data_1987051001_settings.json --output=http://localhost:9200/zhouquan_index --type=settings

在这里插入图片描述
注意:此操作会创建新的es索引并设置settings
在这里插入图片描述

3.4 导入索引映射

elasticdump --input=/path/to/exported_mapping.json --output=http://localhost:9200/new_index --type=mapping

这将导入先前导出的映射数据到"new_index"索引中。

示例:

elasticdump --input=E:/elatic_dump/cnoa_data_1987051001_mapping.json --output=http://localhost:9200/zhouquan_index --type=mapping

在这里插入图片描述

4. 使用Elasticsearch Dump导出数据

在终端或命令行界面中,可以使用以下命令导出Elasticsearch索引中的数据:

elasticdump --input=http://your_elasticsearch_host:9200/your_index_name --output=/path/to/output_file.json --type=data
  • your_elasticsearch_host 替换为实际的Elasticsearch主机地址。
  • your_index_name 替换为要导出的索引名称。
  • /path/to/output_file.json 替换为您想要保存导出数据的路径和文件名。
  • --type=data 参数指定导出类型为数据。您还可以选择导出其他类型,如--type=mapping(导出索引映射)或--type=settings(导出索引设置)。
  • 可以使用其他选项来进一步配置导出,如 --limit(限制导出的文档数量)或 --searchBody(指定自定义的搜索查询)。

运行命令后,Elasticsearch Dump将开始将数据从指定的索引导出到指定的文件中。导出的文件将采用JSON格式

示例:

elasticdump --input=http://192.168.0.1:8200/book --output=E:/elatic_dump/esdumptest.json --type=data

在这里插入图片描述

5. 使用Elasticsearch Dump导入数据到另一个Elasticsearch实例

如果希望将导出的数据导入到另一个Elasticsearch实例,可以使用Elasticsearch Dump的--output参数来指定导入的目标。

elasticdump --input=/path/to/exported_file.json --output=http://new_elasticsearch_host:9200/new_index_name --type=data
  • /path/to/exported_file.json 替换为先前导出的文件路径和文件名。
  • new_elasticsearch_host 替换为目标Elasticsearch主机地址。
  • new_index_name 替换为目标索引名称。

示例:

elasticdump --input=E:/elatic_dump/esdumptest.json --output=http://localhost:9200/zhouquan_index --type=data

在这里插入图片描述


6. Elasticsearch的滚动搜索(Scroll API)

如果希望代码的方式读取所有数据
这个API允许在不受限制地从Elasticsearch中检索大量数据。它通过在每次请求中返回一小部分结果,并为您保持搜索上下文,以便在后续请求中继续滚动。可以使用滚动搜索将所有数据检索到本地,然后进行处理。此代码将从指定的索引中检索所有文档,并在每个文档上执行需要的操作

此操作可参考我之前写的文章:
Elasticsearch“滚动查询“(Scrolling)的机制的与Java使用ES Client 调用滚动查询

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

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

相关文章

备战秋招002(20230704)

文章目录 前言一、今天学习了什么?二、关于问题的答案1.线程池2.synchronized关键字3、volatile 总结 前言 提示:这里为每天自己的学习内容心情总结; Learn By Doing,Now or Never,Writing is organized thinking. …

vue3+wangEditor5/vue-quill自定义上传音频+视频

一.各种编辑器分析 Quill 这是另一个常用的富文本编辑器,它提供了许多可定制的功能和事件,并且也有一2个官方的 Vue 3 组件 wangEditor5 wangEditor5用在Vue3中自定义扩展音频、视频、图片菜单;并扩展音频元素节点,保证音频节…

【数据结构与算法篇】之时间复杂度与空间复杂度

【数据结构与算法篇】之时间复杂度与空间复杂度 一、时间复杂度1.1时间复杂度的定义1.2 常见的时间复杂度的计算1.2.1 常数时间复杂度( O ( 1 ) ) O(1)) O(1))1.2.2 线性时间复杂度( O ( N ) O(N) O(N))1.2.3 对数时间复杂度( O (…

蓝桥杯专题-试题版含答案-【荷兰国旗问题】【正三角形的外接圆面积】【比较字母大小】【车牌号】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

SSTI模板注入

目录 1、原理简述 2、常用payload及相关脚本 (1).__class__ (2).__class__.__base__ (3).__class__.__base__.__subclasses__() (4).__class__.__base__.__subclass…

【周末闲谈】浅谈“AI+算力”

随着人工智能技术的飞速发展,“AI算力”的结合应用已成为科技行业的热点话题,甚至诞生出“AI算力最强龙头“的网络热门等式。该组合不仅可以提高计算效率,还可以为各行各业带来更强大的数据处理和分析能力,从而推动创新和增长。 文…

ue4:Dota总结—HUD篇

1.绘制ui: DrawMoney: DrawPower: 点击ui响应事件: 点击响应显示对应的模型: 点击ui拖动模型跟随鼠标移动: 显示ui:PlayerContrler:

【JAVA】Java 开发环境配置(WIndows篇)

个人主页:【😊个人主页】 系列专栏:【初始JAVA】 文章目录 前言下载JDK配置环境变量JAVA_HOME 设置PATH设置CLASSPATH 设置变量设置参数 前言 在前篇中我们介绍了JAVA语言的诞生与发展,现在是时候去学习使用他们了。 下载JDK 首先…

常微分方程(ODE)求解方法总结(续)

常微分方程(ODE)求解方法总结(续) 1 隐式方法2 多步法2.1 二阶方法2.1.1 非自启动修恩方法2.2 开型和闭型积分公式2.3 高阶多步法 1 隐式方法 常微分方程(ODE)求解方法总结 里面介绍了我称为“正常思路”的…

Jira UI Locations及注意事项总结

issue view ui locations : https://developer.atlassian.com/server/jira/platform/issue-view-ui-locations/#issue-operations-bar-locations1.问题操作栏Issue Operations Bar Locations模块分为两部分: opsbar-operationsflopsbar-transitions两个location.共同定义了问题…

【力扣】111、二叉树的最小深度

111、二叉树的最小深度 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 // var minDepth function(root){if(!root) return 0;const stack [ [ root ,1] ];//…

零拷贝详解

目录 一、什么是零拷贝 二、传统的IO执行流程 三、零拷贝相关的知识点回顾 1、内核空间&用户空间 2、用户态&内核态 3、上下文切换 4、虚拟内存 5、DMA技术 四、零拷贝实现的几种方式 1、mmapwrite实现的零拷贝 2、sendfile实现的零拷贝 3、sendfileDMA sc…

MySQL原理探索——23 MySQL是怎么保证数据不丢的

今天这篇文章,我会继续介绍在业务高峰期临时提升性能的方法。从文章标题“MySQL 是怎么保证数据不丢的”,你就可以看出来,今天我介绍的方法,跟数据的可靠性有关。 在前面文章,我都着重介绍了 WAL 机制(你可…

ElementUI plus框架Table表格cell-style属性的使用

官方文档说明: 例:设置单元格文字居中 Object方式: function方式:

安全 --- http报文包详解及burp简单使用

HTTP HTTP(超文本传输协议)是今天所有web应用程序使用的通信协议。最初HTTP只是一个为了获取基本文本的静态资源而开发的简单协议,后来对其进行扩展和利用,使其发展为能够支持如今常见的复杂分布式应用程序。 (1&…

PADS-LAYOUT菜单及工具使用

目录 1菜单栏 1.1文件菜单 1.2编辑菜单 1.3查看菜单 1.4设置菜单 1.5工具菜单 1.6帮助菜单 2工具栏 2.1标准工具栏 2.2绘图工具栏 2.3设计工具栏 2.4尺寸标注工具栏 2.5ECO工具栏 3系统配置 3.1全局选项 3.2设计选项 3.3栅格和捕获选项 3.4显示选项 3.5布线选…

【UnityDOTS 六】预制实例化成Entity

预制实例化成Entity 前言 从Authoring模式中,如何通过预制件来实例化一个对应的Entity对象到DOTS系统中。 一、Authoring模式与Runtime模式 Authoring创作模式:即我们熟悉的方便操作的创建预制的模式 Runtime模式:运行模式,即在…

Three.js教程:网格模型

推荐:将 NSDT场景编辑器 加到你的3D工具链 工具集: NSDT简石数字孪生 网格模型(三角形概念) 本节课给大家演示网格模型Mesh渲染自定义几何体BufferGeometry的顶点坐标,通过这样一个例子帮助大家建立**三角形(面)**的概念 三角形(面) 网格模型Mesh其实…

Spring Boot 中的 XA 事务

Spring Boot 中的 XA 事务 在现代化的应用程序开发中,事务管理是一个重要的话题。事务管理可以确保数据的一致性和完整性,同时也可以避免数据丢失和冲突等问题。在分布式环境中,XA 事务是一种常用的事务管理方式。在本文中,我们将…