centos7.x 安装 elasticdump(在线安装&离线安装)

本文详细介绍了如何通过npm安装和配置elasticdump,包括在线和离线安装步骤,以及如何使用elasticdump进行数据备份、还原和迁移操作,包括单索引和多索引操作,以及涉及账号密码的数据迁移实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 安装npm,node

  • 下载安装包
wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz
  • 解压
xz -d node-v10.13.0-linux-x64.tar.xz 

tar xvf node-v10.13.0-linux-x64.tar
  • 建立文件软连接到系统命令
ln -s /root/node-v10.13.0-linux-x64/bin/node /usr/bin/node
ln -s /root/node-v10.13.0-linux-x64/bin/npm /usr/bin/npm
  • 检查是否安装成功
node -v
npm  -v

二. 安装elasticdump

2.1 在线安装

  • 安装
npm install elasticdump -g
  • 建立文件软连接到系统命令
ln -s /root/node-v10.13.0-linux-x64/lib/node_modules/elasticdump/bin/elasticdump /usr/bin/elasticdump
  • 验证
elasticdump --help

2.2 离线安装

在同样的系统版本有网络的服务器下生成模块elasticdump缓存(安装同上2.1)

2.2.1 模块缓存导出:

  • 查看缓存目录位置
npm config get cache
cd /root/.npm/
  • 压缩缓存,并拷贝到待安装机器
tar -cf npm-cache.tar .npm

2.2.2 模块缓存导入安装:

  • 解压
tar -xvf npm-cache.tar
  • 进入node下的lib目录执行安装命令(npm5.0 npm机制不一样)
cd /root/node-v10.13.0-linux-x64/lib
npm install --cache /root/.npm --optional --cache-min 99999999999 --shrinkwrap false elasticdump

注意 :如果执行npm install 出错提示资源未找到则执行
npm install --cache /root/.npm express --prefer-offline --shrinkwrap false elasticdump

  • 建立文件软连接到系统命令
ln -s /root/node-v10.13.0-linux-x64/lib/node_modules/elasticdump/bin/elasticdump /usr/bin/elasticdump
  • 验证
elasticdump --help

三. 数据备份,还原,迁移

使用elasticdump进行单个索引备份还原操作——

导出索引test_event的mapping映射结构:
 elasticdump --input=http://127.0.0.1:9200/test  --output=/opt/test_mapping.json --type=mapping 
  • 还可以直接导入到另一个es集群当中:
elasticdump --input=http://127.0.0.1:9200/test   --output=http://127.0.0.2:9200/test --type=mapping
导出索引test_event的数据:

elasticdump --input=http://127.0.0.1:9200/test --output=/opt/data.json --type=data

  • 直接将备份数据导入另一个es集群:
 elasticdump --input=http://127.0.0.1:9200/test   --output=http://127.0.0.2:9200/test --type=data
elasticdump进行数据还原操作
  • mapping映射结构还原:
elasticdump --input=/opt/test_mapping.json --output http://127.0.0.1:9200/ --type=mapping
  • data数据还原
 elasticdump --input=/opt/data.json    --output=http://127.0.0.1:9200/test    --type=data
使用multielasticdump进行多个索引备份操作:
  • 将ES索引及其所有类型备份到es_backup文件夹中
multielasticdump direction = dump match ='^.*$'  input = http://127.0.0.1:9200   output =/tmp/es_backup
  • 仅备份ES索引以“ -index”(匹配正则表达式)为前缀的结尾。仅备份索引数据。所有其他类型都将被忽略。
    #注意:默认情况下会忽略分析器和别名类型
multielasticdump --direction=dump --match='^.*-index$' --input=http://127.0.0.1:9200 --ignoreType='mapping,settings,template'  --output=/tmp/es_backup
使用elasticdump进行多个索引还原操作:
multielasticdump --direction=load --input=/tmp/es_backup --output=http://127.0.0.1:9200

根据npm的elasticdump英文官网介绍可知,这里需要注意一点是,即使用multielasticdump有一个区别的地方是
–direction的参数设置和–ignoreType参数设置。
备份时,–direction=dump是默认值,则–input必须是ElasticSearch服务器基本位置的URL(即http://localhost:9200),并且–output必须是目录。每个匹配的索引都会创建一个数据,映射和分析器文件。

还原时,要加载从multi- elasticsearch转储的文件,-direction 应将其设置为load ,–input必须是multielasticsearch转储的目录,并且–output必须是Elasticsearch服务器URL。

–match`用于过滤应转储/加载的索引(正则表达式)。

–ignoreType允许从转储/加载中忽略类型。支持六个选项。data,mapping,analyzer,alias,settings,template。提供了多类型支持,使用时每种类型必须用逗号分隔,并interval允许控制生成新索引的转储/装入的时间间隔。

–includeType允许将类型包含在转储/装载中。支持六个选项- data,mapping,analyzer,alias,settings,template。

带账号密码的数据迁移
./elasticdump --input=http://username:password@192.168.1.2:9200/test --output=http://username@password@192.1

原文链接:
https://blog.youkuaiyun.com/num270710/article/details/107048106
https://www.cnblogs.com/zhujiqian/p/14641972.html
https://blog.youkuaiyun.com/daihaoxin/article/details/105749014

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值