当前位置: 首页 > article >正文

ES 数据迁移最佳实践

ES 数据迁移最佳实践与讲解

       数据迁移是 Elasticsearch 运维管理和业务需求中常见的操作之一。以下是不同数据迁移方法的最佳实践和讲解:

一、数据迁移需求梳理

二、数据迁移方法梳理

三、各方案对比

方案

优点

缺点(限制)

适用场景

是否有版本要求

开发程序

灵活,方便,可以定制。例如es的搜索快照是一个付费API,可以用程序实现同样的功能,把不需要的索引关闭掉,节省资源,减缓堆压力。等需要的时候再逐个打开,取出数据。

  1. 开发成本大
  2. 最大迁移速度,为滚动查询的速度。
  3. 跨版本开发比较麻烦。
  1. 同版本,在数据迁移过程中,需要大量的额外操作
  2. 跨集群
  3. 在业务上数据导出需求,使用滚动API。方便控制

有版本要求,通常不同版本客户端可能会不一样

dump工具

  1. 使用方便,其提供了灵活的API。
  2. 无版本要求。其使用的是rest API 滚动查询。
  3. 可以加入条件过滤数据
  1. 不算太大的缺点,只是需要安装这个工具,需要node环境,需要安一些包。
  2. 最大迁移速度,为滚动查询的速度。如果对速度有极高的要求,则不适用。
  1. 跨版本(同一个工具,可以做不同版本之间的数据迁移)
  2. 不需要额外的代码去做版本兼容

无,测过从7.x把数据迁移到8.x版本集群上。

logstash工具

  1. 在一个技术体系内。
  2. 可以在过程中做一些数据处理。这里和开发程序类似。
  3. 同时又和dump工具很像,可以做跨版本迁移。

速度相对较慢

迁移全量或增量数据,且对实时性要求不高的场景

需要对迁移的数据通过 es query 进行简单的过滤的场景

需要对迁移的数据进行复杂的过滤或处理的场景

版本跨度较大的数据迁移场景

无版本要求

快照

数据迁移速度极快。取决于磁盘的IO速度,默认下可以40M/s

  1. 只能做跨集群迁移。
  2. 只能做同版本迁移。
  3. 两个不同的集群需要有相同的快照仓库。可以使共享目录,可以是文件存储系统,前提是都能访问到。
  4. 无法通过条件过滤数据

跨集群同版本快速迁移数据。数据量大的场景(GB、TB、PB 级别)

对迁移速度要求较高的场景

有严格版本要求

文件拷贝

速度极快。甚至可以比快照更快。

  1. 存在风险,官方不建议这么操作。es的文件相对脆弱。很可能存在文件损坏的问题。导致不能恢复。
  2. 操作麻烦,需要把一个节点的数据拷贝到另外一个集群的节点上。

跨集群同版本快速迁移数据。

有严格版本要求,必须是同版本。

利用节点平衡

一种新思路,适合跨集群,跨机房,跨网络迁移。

  1. 操作相对麻烦
  2. 只能做同版本
  3. 需要两个集群网络互通

例如需要将大量的数据从一个机房迁移到另外一个机房集群上。这是一个很好的思路,在网络互通下,可以把节点先组成同一个集群,然后利用节点的平衡机制,将数据排到另外一个机房。

有严格版本要求

四、总结

存在即合理,每种迁移方式都有其适用的场景。每个方式各有所长,取决于迁移需求的具体要求。如果追求速度,推荐用快照。如果要跨版本,推荐用dump工具,或者logstash。如果要跨机房,大量数据同步,利用节点平衡机制也可以,相对简单一些。请注意,数据迁移时务必考虑版本兼容性和数据完整性,以确保成功迁移和数据安全。


http://www.kler.cn/a/105886.html

相关文章:

  • 基于Java Springboot幼儿园管理系统
  • 【qt】控件3
  • js实现导航栏鼠标移入时,下划线跟随鼠标滑动
  • golang开源框架:go开源验证框架validator
  • 富格林:安全指正规防欺诈套路
  • ubuntu20.04 更换清华源报错
  • hello react
  • 再获Gartner认可!持安科技获评ZTNA领域代表供应商
  • Instagram引流技巧:如何充分利用社交媒体来增加独立站流量
  • 【Overload游戏引擎细节分析】PBR材质Shader
  • 部署应用链太费心?Tanssi 教你轻松开发部署
  • 解锁高效检索技能:掌握MySQL索引数据结构的精髓
  • 阿里巴巴:海量请求下的接口并发,都有哪些方案?
  • 重复控制器的性能优化
  • [每周一更]-(第69期):特殊及面试的GIT问题解析
  • 华为云双十一服务器数据中心带宽全动态BGP和静态BGP区别
  • 港联证券:2万元股票一进一出手续费?
  • Uniapp 跳转回上一页面并刷新页面数据
  • jdbc技术实现插入数据,更新和删除操作,查询操作
  • 【计算机视觉】MoCo v3 讲解
  • 基于Java的宠物商店管理系统设计与实现(源码+lw+部署文档+讲解等)
  • 全国客运飞机场数据,2023年的,有shp和xlsx格式
  • jvm摘要
  • php实战案例记录(25)intval函数的用法
  • yum--centos 和apt --ubuntu
  • Java实现连接SQL Server解决方案及代码