当前位置: 首页 > news >正文

离线安装elasticdump并导入和导出数据

离线安装elasticdump

在 CentOS 或 RHEL 系统上安装 elasticdump,你可以使用 npm(Node.js 的包管理器)来安装,因为 elasticdump 是一个基于 Node.js 的工具。以下是步骤

先在外网环境下安装

  1. 下载nodejs和npm(注意x86和aarch64的包不同)
wget https://nodejs.org/dist/v12.22.11/node-v12.22.11-linux-arm64.tar.gz

我下这个版本才能用npm install elasticdump -g下载
2. 解压

tar -zxvf node-v12.22.11-linux-arm64.tar.gz -C /usr/lib/
  1. 创建软链接
mv /usr/lib/node-v12.22.11-linux-arm64 /usr/lib/nodejs
ln -s /usr/lib/nodejs/bin/npm /usr/bin
ln -s /usr/lib/nodejs/bin/node /usr/bin
  1. 验证能否正常使用
node -v
npm -v
  1. 安装elasticdump
npm install elasticdump -g
  1. 创建elasticdump软链接
ln -s /usr/lib/nodejs/lib/node_modules/elasticdump/bin/elasticdump /usr/local/bin/elasticdump
  1. 验证安装
elasticdump --version
  1. 导出缓存包
    查看npm缓存路径
npm config get cache

我的是/root/.npm,把elasticdump安装后的缓存目录打包

cd /root
tar -zcf npm-cahce.tgz .npm
  1. 把导出的npm-cache.tgz 保存下来

拷贝安装包到内网环境

  1. 参见外网步骤安装nodejs和创建软链接
  2. 拷贝npm-cache.tar到/root,并解压缩
mv npm-cache.tar /root
cd /root
tar -zxf npm-cahce.tgz
  1. --cache-min这个参数是指超过多少分钟,才去网络下载,设置足够大就会从缓存安装
npm install --cache /root/.npm --optional --cache-min 9999999 -shrinkwarp false elasticdump
  1. 创建软链接
ln -s /usr/lib/nodejs/lib/node_modules/elasticdump/bin/elasticdump /usr/local/bin/elasticdump
  1. 检测环境,安装成功,会看到elasticdump帮助信息,导出数据时需要查看这些帮助参数的用法:
elasticdump --help

导入和导出数据

导出索引数据

  1. 将源 ES 实例中的索引数据导出为 JSON 文件:
elasticdump \--input=http://localhost:9200/your_index_name \--output=your_index_data.json \--type=data
  1. 导出索引映射,将索引的映射(mapping)导出为 JSON 文件,以确保导入时保持相同的结构:

如果有认证,则下方input输入账户密码username:password

elasticdump \--input=http://username:password@source_elasticsearch:9200/your_index_name \--output=your_index_mapping.json \--type=mapping
  1. 导出索引的settings(即索引的配置如:分片数、副本数等)
elasticdump \--input=http://localhost:9200/my_index \--output=my_index_settings.json \--type=settings

导入数据

  1. 导入索引映射:(已经有索引结构了可不导入)当索引模板有变动时建议导入
elasticdump \--input=your_index_mapping.json \--output=http://localhost:9200/your_index_name \--type=mapping
  1. 导入索引数据,设置limit一次性导入多少条(默认100条):
    当索引不存在时会自动创建
elasticdump \--input=your_index_data.json \--output=http://localhost:9200/your_index_name \--type=data \--limit=10000
  1. --ignore-errors 参数可以忽略导入过程中出现的错误,例如 _id 冲突的错误。这样,当导入数据时,如果目标索引中已经存在 _id 相同的文档,导入操作不会覆盖原有数据,而是跳过这些冲突的文档
elasticdump \--input=my_index_dump.json \--output=http://localhost:9200/my_index \--type=data \--ignore-errors
  1. 验证数据导入
    在目标 ES 实例中验证数据是否成功导入:
curl -X GET "http://target_elasticsearch:9200/your_index_name/_search?pretty"

如果返回的结果与原始索引中的数据一致,说明数据迁移成功

http://www.xdnf.cn/news/39673.html

相关文章:

  • 深度补全网络:如CSPN++填补稀疏点云的深度信息
  • 运筹学之遗传算法
  • 2024期刊综述论文 Knowledge Graphs and Semantic Web Tools in Cyber Threat Intelligence
  • SICAR标准功能块 FB1514 “Robot_request_FB”
  • 洛谷的几道题(2)
  • 解决win10执行批处理报编码错误
  • 【双指针】对撞指针 快慢指针 移动零
  • 文献×材料 | 基于ANSYS的刹车片环保材料分析研究
  • C 语 言 --- 指 针 3
  • IsaacSim Asserts 配置
  • [Java]反射、String类补充
  • Workflow轻量级工作流引擎实现
  • 5. 话题通信 ---- 发布方和订阅方python文件编写
  • 前端面试中高频手撕[待补充]
  • STM32单片机教程:从零开始打造智能天气时钟
  • 【技术追踪】用于医学图像分割的 Diffusion Transformer U-Net(MICCAI-2023)
  • 裂项法、分式分解法——复杂分式的拆解
  • AIGC-几款市场营销智能体完整指令直接用(DeepSeek,豆包,千问,Kimi,GPT)
  • QTcpSocket多线程遇到的读写数据问题
  • win11自带中文输入法不见了怎么解决
  • 2025年4月19日 记录大模型出现的计算问题
  • 洛谷B3862:图的遍历(简单版)← 链式前向星
  • Bash 中的数学运算详解
  • 共享单车出行规律与决定因素的空间交互分析——以北京六大区为例
  • 详解多线程高并发IOCP开发模式(含示例说明)
  • 深入解析 JDK jstack 命令:线程分析的利器
  • 数据结构初阶:二叉树(三)
  • PHP异常处理__RuntimeException运行时错误
  • PDF转excel+json ,vue3+SpringBoot在线演示+附带源码
  • 作业2 CNN实现手写数字识别