本文简单介绍了 如何 导入导出 ES 全量数据暂时不包含导入导出 ES 单表数据。

工具官网:elasticsearch-dump

全量数据

导出

  1. 确保有备份工具【见附录-1 下载备份工具】
  2. 确保output文件夹存在
  3. 执行导出命令
multielasticdump \
  --direction=dump \
  --input=http://ES的ip和端口 \
  --output=要备份的文件夹地址 \
  --includeType=data,mapping,analyzer,alias,settings,template \
  --limit=每次批量导出数据的速度条数

示例:

multielasticdump \
  --direction=dump \
  --input=http://xxx:9200 \
  --output=/Users/xxx/back-up-test/backup-es \
  --includeType=data,mapping,analyzer,alias,settings,template \
  --limit=10000

导出结束的标志
在这里插入图片描述

导入

  1. 事先准备好 通过全量导出 备份的全量数据文件夹
  2. 确定要恢复到的新的ES的 ip和端口号
  3. 执行数据恢复
multielasticdump \
  --direction=load \
  --input=elasticsearch文件夹位置 \
  --output=http:// 要恢复到的es的ip和端口 \
  --limit=每次批量导入数据的速度条数

示例:

multielasticdump \
  --direction=load \
  --input=/test/back-up-test/elasticsearch \
  --output=http://xxx:9200 \
  --limit=10000 \
  --includeType=data,mapping,analyzer,alias,settings,template

恢复结束的标志,如下
在这里插入图片描述

附录

检查和下载NodeJS

  1. 检查本机器是否存在 node.js
    npm -v
  2. 存在则继续看 【附录2-使用nodejs下载 elasticsearch-dump】
  3. 不存在则下载 NodeJS ,如下

选择适合自己版本的进行下载
【以16.17.0版本为例子,在linux环境下】

  1. 下载node.js 安装,三选一
## 64位
wget https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz 
## arm-v7
wget https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-armv7l.tar.xz
## arm-v8
wget https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-arm64.tar.xz
  1. 解压node.js 安装包
tar xf node-v16.17.0-linux-x64.tar.xz 
  1. 查看版本
./node-v16.17.0-linux-x64/bin/node -v
./node-v16.17.0-linux-x64/bin/npm -v
  1. 如能正常显示版本,npm至此就安装完成。

下载备份工具 elasticsearch-dump

本文只介绍使用 nodejs 下载 elasticsearch-dump 的方式,下载步骤如下:

  1. 检查本机器是否存在 node.js,存在则继续
    npm -v
    
  2. 安装elasticdump
    本机器自带 npm
    npm install elasticdump -g
    
    附录一下载的 npm
    ./node-v16.17.0-linux-x64/bin/npm install elasticdump -g
    
    如果不能安装,请尝试使用root权限安装
    sudo ./node-v16.17.0-linux-x64/bin/npm install elasticdump -g
    
  3. 查看elasticdump命令是否安装好了
    elasticdump
    

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐