博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elasticsearch迁移
阅读量:4042 次
发布时间:2019-05-24

本文共 1744 字,大约阅读时间需要 5 分钟。

迁移办法的几个办法:elasticsearch-dump  snapshot reindex logstash

公司迁移es,因数据量不是很大,采用的方法elasticsearch-dump的方式进行数据迁移

elasticsearch-dump:主要针对数据量小的情况,而且迁出迁入服务器网络通

elasticsearch-dump 是一款开源的es迁移工具,github地址:

它基于node.js开发,可以直接nmp安装:

npm install elasticdump -g

迁移命令:

elasticdump \  --input=http://production.es.com:9200/my_index \  --output=http://staging.es.com:9200/my_index \  --type=analyzerelasticdump \  --input=http://production.es.com:9200/my_index \  --output=http://staging.es.com:9200/my_index \  --type=mappingelasticdump \  --input=http://production.es.com:9200/my_index \  --output=http://staging.es.com:9200/my_index \  --type=data

input 输入源es地址的index索引,output 目标源es地址以及index索引,type迁移的类型,可选settings, analyzer, data, mapping, alias

同一个index的type迁移顺序为:settings(配置,首位)->analyzer(分词,需要在mapping前)->mapping(映射)->alias->data

如果网络不通的情况下,也可以output输出到file中,详细可以看官方github中remark中使用介绍.

需要auth用户密码的可以参考下面的办法

# 注意 elasticdump 提供给了--httpAuthFile 参数来做认证--httpAuthFile      When using http auth provide credentials in ini file in form                    `user=
password=
`# 只需要写一个ini文件 ,文件中写入用户名和密码就可以了# 这里其实还有另外一个好的方法# 在--input参数和--output参数的的url中添加账号密码# 例如
elasticdump \  --input=http://prod-username:prod-passowrd@production.es.com:9200/my_index \  --output=http://stage-username:stage-password@staging.es.com:9200/my_index \  --type=data

 

snapshot

适用场景

适用数据量大的场景

使用方式

snapshot api是Elasticsearch用于对数据进行备份和恢复的一组api接口,可以通过snapshot api进行跨集群的数据迁移,原理就是从源ES集群创建数据快照,然后在目标ES集群中进行恢复。需要注意ES的版本问题:

reindex

reindex是Elasticsearch提供的一个api接口,可以把数据从源ES集群导入到当前的ES集群,同样实现了数据的迁移,限于腾讯云ES的实现方式,当前版本不支持reindex操作。简单介绍一下reindex接口的使用方式。

logstash

logstash支持从一个ES集群中读取数据然后写入到另一个ES集群,因此可以使用logstash进行数据迁移,具体的配置文件如下:

snapshot、reindex、logstash更详细介绍参看:

转载地址:http://zwodi.baihongyu.com/

你可能感兴趣的文章
Java.nio
查看>>
函数模版类模版和偏特化泛化的总结
查看>>
VMware Workstation Pro虚拟机不可用解决方法
查看>>
最简单的使用redis自带程序实现c程序远程访问redis服务
查看>>
redis学习总结-- 内部数据 字符串 链表 字典 跳跃表
查看>>
iOS 对象序列化与反序列化
查看>>
iOS 序列化与反序列化(runtime) 01
查看>>
iOS AFN 3.0版本前后区别 01
查看>>
iOS ASI和AFN有什么区别
查看>>
iOS QQ侧滑菜单(高仿)
查看>>
iOS 扫一扫功能开发
查看>>
iOS app之间的跳转以及传参数
查看>>
iOS __block和__weak的区别
查看>>
Android(三)数据存储之XML解析技术
查看>>
Spring JTA应用之JOTM配置
查看>>
spring JdbcTemplate 的若干问题
查看>>
Servlet和JSP的线程安全问题
查看>>
GBK编码下jQuery Ajax中文乱码终极暴力解决方案
查看>>
Oracle 物化视图
查看>>
PHP那点小事--三元运算符
查看>>