elasticsearch es数据迁移es-dump

由于现在接管了同事的代码,同事的代码操作es时,导致了线上问题,我又对es不熟悉,怕操作影响了其他线上业务,于是现在将es数据复制一版到本地来。

远程es服务elasticsearch.tencent.xxx.com:80

本地es服务192.168.9.102:9200

现在将远程转换为本地,我们采用【elasticdump工具】来进行迁移,至于用它的原因,就是看起来不影响线上服务,而且非常易懂,学习成本低。

大致流程如下

分三步,首先下载npm,然后在npm安装es-dump,然后通过dump的命令,从远程服务器把数据备份到文件夹中,然后在通过dump的导出命令,将文件夹中的数据导出到测试服。

第一步

下载地址Node.js

安装npm.....

第二步,安装es-dump

npm install elasticdump -g

第三步

两个命令elasticdump(用来备份单个索引),multielasticdump(用来并行备份多个索引) 

先备份单个索引

elasticdump 
--input=http://elasticsearch.tencent.xxx.com/user_message_v2 #索引名称为user_message_v2
--output=/opt/data/user_message_v2.json  #备份到指定目录下
--type=data

 由于他的速度非常慢,请注意,如果数据量稍微有点大,并且远程是非内网传输,请谨慎选择

这就是数据

全部索引备份

mkdir -p es_backup multielasticdump --direction=dump 
--input=http://localhost:9200 
--output=es_backup
--type=data --limit 1000 --support-big-int

导入数据(单个)

elasticdump --direction=load --input=json文件
--output=http://192.168.9.102:9200

导入数据(多个)

multielasticdump --direction=load --input=文件夹
--output=http://192.168.9.102:9200

查看结果

猜你喜欢

转载自blog.csdn.net/qq_38403590/article/details/129008354