由于项目需要,得把一个项目的es(1.x)的数据迁移一个新的项目(es 5.5.1)中去。使用的snapshot快照备份的方式,直接把备份数据打包拷一份到目标服务器去。 结果发现版本不一致,快照备份生成的备份文件格式什么的都不一样。
请教各位有没有什么好方法来进行迁移。
由于题主也是新手,目前能想到的就是部署个1.x版本的es,把数据迁移到这个es上面去,然后升级到5.x
请教各位有没有什么好方法来进行迁移。
由于题主也是新手,目前能想到的就是部署个1.x版本的es,把数据迁移到这个es上面去,然后升级到5.x
2 个回复
exceptions - 。。。
赞同来自:
我是按照索引来进行迁移的。
针对较小的索引通常在100G以下的话,可以使用elasticdump这个工具来进行迁移,很方便,详细可以在网上查找资料。如果索引较大可能会出现错误(我反正是出现过好多错误,elasticdump突然停了...)。这个时候我是用spark导入的。具体做法是通过spark从es中将数据读出来,写成文件(一般是parquet文件,json好像也可以),然后在用spark将数据加载到新的es集群中去,虽然有时也会失败,但是能成功(elasticdump处理大索引就没成功过。。。)
你可以先试一试
spark最好是standalone或者运行在yarn上,好像local模式也可以。前提是要下载对应的es-spark jar包
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自: