分享好友 最新动态首页 最新动态分类 切换频道
ES8生产实践——ES跨集群数据迁移方案测评
2024-12-26 08:33

经常有小伙伴咨询如何将整个es集群数据如何迁移到另一个集群,其中往往会涉及到以下的问题
跨es版本:老版本es集群数据迁移到新版本es集群。
跨集群:源数据和目的数据分布在两个不同的集群。
跨网络:两套集群分布数据不同的局域网、一套在公有云、一套在自建机房。

ES8生产实践——ES跨集群数据迁移方案测评

目前主流的解决方案分为以下两类
批量读取旧集群的数据然后再批量写入新集群:elasticsearch-dump、esm、reindex、logstash都是采用这种方式。
底层文件备份恢复:snapshot直接把旧集群的底层的文件进行备份,在新的集群中恢复出来,相比较scroll query + bulk的方式,snapshot的方式迁移速度最快。

源数据集群:单节点rpm方式部署的es7.17.18集群,ip地址为192.168.10.70。
目的数据集群:3节点rpm方式部署的es8.12.2集群,ip地址为192.168.10.61/62/63。
数据中转操作节点:可同时连接两套es集群,用于中转数据。

我们先在目的集群设置索引模板,保证写入速率最大化。

 
 
 

ES支持快照功能,用于实现数据的备份与恢复。我们可以生成单个索引或整个集群的快照,并将其存储在共享文件系统上的存储库中,并且有一些插件支持 S3、HDFS、Azure、Google Cloud Storage 等上的远程存储库。
本实验以NFS为例演示es的快照备份与恢复。

源集群配置

目的集群配置

elasticsearch-dump是一个开源的使用JavaScript语言开发的Elasticsearch数据迁移工具,详细信息请参见文档:https://github.com/elasticsearch-dump/elasticsearch-dump

中转操作节点安装部署

安装elasticdump

 

Elasticdump标准指令是

 
  • input SOURCE表示读取数据源SOURCE
  • output DESTINATION表示将数据源传输到目的地DESTINATION。
  • SOURCE/DESTINATION两者都可以是Elasticsearch URL或文件,如果是Elasticsearch URL,例如http://127.0.0.1/index,就意味着是直接往地址为http://127.0.0.1ES库里导入或者从其导出索引相关数据。
  • [OPTIONS]是操作选项,比较常用有type和limit,其他操作这里就不展开介绍。

type是ES数据导出导入类型,Elasticdum工具支持以下数据类型的导入导出。

type类型说明mappingES的索引映射结构数据dataES的数据settingsES的索引库默认配置analyzerES的分词器templateES的模板结构数据aliasES的索引别名

整个迁移过程分为先设置索引参数参数,再迁移mapping结构,待数据迁移完成后再修改number_of_replicas和refresh_interval为合适的值。

迁移mapping

使用elasticdump工具,将es7单节点的geonames索引mapping迁移到三节点es8集群中。

 

mapping迁移完成后,查看索引信息,已经创建名为geonames的索引。

迁移data

与迁移mapping类似,我们只需要将type从mapping改为data即可,观察控制台输出,每迁移1万条数据耗时约95秒。

 

elasticdump执行完成后查看目的集群索引,已成功完成迁移,整个过程耗时约3个小时。

esm迁移过程原理与elasticsearch-dump类似,区别在于esm使用go语言开发,号称每分钟可以迁移一千万条数据,仓库地址:https://github.com/medcl/esm

中转操作节点安装部署

安装esm

 

esm标准指令是

 
  • -s表示读取数据源SOURCE
  • -d表示将数据源传输到目的地DESTINATION。
  • -x表示需要复制的index名称
  • -q表示指定条件的查询语句
  • -n表示base认证的用户名和密码
  • -w表示并发数,默认为1
  • -b表示buck大小,默认5MB
  • -f表示复制前删除已有重名索引
  • –refresh表示完成后再刷新索引

迁移数据

使用esm工具,将es7单节点的geonames索引模板与数据迁移到三节点es8集群中。

 

通过控制台可知,整个迁移过程需要时间约1个小时10分钟。

设置索引模板

在迁移数据前,我们先设置索引模板,保证写入速率最大化

 

配置集群白名单

需要修改目的集群每个节点配置,新增源数据集群es地址,然后重启elasticsearch服务。

 

执行reindex迁移

在目的集群使用dev tools工具执行如下指令。

  • 其中size表示每批次的数据量,默认值1000
  • slice表示切片数量,我们有3个数据节点,可将参数设置为3。
  • wait_for_completion=false表示异步执行,ES将会以task 来描述此类执行任务
 

查询异步任务。

 

实测2.6GB数据迁移用时15分钟。

安装logstash

 

配置logstash

 

启动logstash

 

实测2.6GB数据迁移用时8分钟。

ES除了用于存储业务类数据外,日志和指标数据存储也是其另一大使用场景,在这类业务场景下,数据迁移往往还需要考虑到采集日志客户端逐渐切换过程中日志数据增量迁移的问题。

CCR方案:ES官方推出了CCR跨集群复制方案,可以完美实现数据的实时增量迁移,具体可参考文档https://www.cuiliangblog.cn/detail/section/83558841,需要注意的是开源社区版不支持该功能。
定时任务+时间范围查询方案:然后通过定时任务工具每分钟执行一次迁移工具,查询最近3分钟数据(主要取决于源数据refresh_interval参数,查询时间范围应大于refresh_interval参数,在写入es集群时指定文档id为原始数据id,以保证写入新集群时数据唯一。需要注意的是此方案只能针对数据有增无减的场景使用。可以使用sdk开发程序,或者使用logstash来实现。在增量同步前先执行一次全量迁移任务,保证先前历史数据迁移至新集群,然后再启动增量迁移任务。

修改配置文件,我们只需要将pipeline放置在/etc/logstash/conf.d/目录下并以.conf结尾,logstash启动时会去扫描该目录下所有conf结尾的pipeline并加载。

 

启动logstash迁移服务

 
 
 
方案elasticsearch-dumpesmreindexlogstashsnapshot基本原理逻辑备份,类似mysqldump将数据一条一条导出后再执行导入ESM 是 medcl 开源的派生自:Elasticsearch Dumper 的工具,基于 go 语言开发。reindex 是 Elasticsearch 提供的一个 API 接口,可以把数据从一个集群迁移到另外一个集群从一个集群中读取数据然后写入到另一个集群从源集群通过Snapshot API 创建数据快照,然后在目标集群中进行恢复网络要求无网络互通要求无网络互通要求网络需要互通网络需要互通无网络互通要求迁移速度最慢很慢一般很快最快适合场景适用于数据量小的离线场景适用于数据量小的离线场景适用于数据量中等,在线迁移数据的场景适用于数据量很大,实时数据传输的场景适用于数据量特大,离线数据迁移的场景配置复杂度简单简单中等中等复杂缺点速度全宇宙最慢,没有之一跨大版本不能迁移mapping,需要手动迁移需要设置集群白名单,重启elasticsearch服务logstash对资源要求较高,建议单独的一台服务器运行。在快照还原过程中无法修改分片数,分片数取决于源集群索引设置。迁移时长(1100万条数据)3小时1小时10分钟15分钟8分钟2分钟

微信公众号同步更新,欢迎关注微信公众号《崔亮的博客》第一时间获取最近文章。

最新文章
用AI生图神奇诠释美女写真:轻松一键生成你的梦中情人!
在这个数字化的时代,许多人开始寻求使用AI生成完美的艺术作品,尤其是关于美女写真这样的主题。想象一下,宝子们!只需轻轻一按,便可获得一张份量十足的美女写真,而这些令人惊艳的图像全是由人工智能生成的。这可真是一个不可思议的技术
中国最美校园50排名 全世界学校环境最好的大学排名
国际学校信息网小编给大家带来了中国最美校园50排名 全世界学校环境最好的大学排名相关文章,一起来看一下吧。1、环境科学专业世界大学排名2、中国最美校园50排名3、全世界学校环境最好的大学排名根据QS世界大学排名(QSWorldUniversityRank
海北藏族自治州基础沉降灌浆2024年排行榜推荐
海北藏族自治州基础沉降灌浆2024年排行榜推荐标题:海北藏族自治州基础沉降灌浆2024年排行榜推荐随着我国基础设施建设的不断推进,基础沉降灌浆技术在各类工程中发挥着越来越重要的作用。海北藏族自治州作为我国西部地区的重要城市,近年来
乱斗西游最佳刑天阵容搭配攻略:策略实战与角色协同作战技巧解析
在乱斗西游这一炙手可热的游戏中,刑天作为一个强大的角色,其阵容搭配与实战策略备受关注。本文将带领读者深入了解如何构建最佳刑天阵容,掌握角色协同作战技巧,从而在游戏中独步天下。二最佳刑天阵容搭配2. 辅助角色(1)太白:太白的技
驾考宝典最新学车流程介绍
只要正确使用,保养得当,双离合变速箱用15年是没有问题的。双离合变速器是一种比较常见的自动变速器,这种变速器的结构类似于手动变速器。双离合变速箱只是比手动变速箱多了一个离合器和一个换档控制机构。双离合变速器中的一组离合器用于
漫蛙漫画官方页面免费漫画入口
《公共女人》是公共高清一部以香港为背景,以权势之间的女人爱情和背叛为主题的商战爱情剧。电影讲述了普通大学学生曾桂英,线观在深港企业家陈圆圆卷入群金钱权斗之中,公共高清改变命运的女人故事。电影里,线观普通大学学生曾桂英,公共
碧蓝航线最新强度榜TOP42,战舰实力深度分析与排行
摘要:根据最新的碧蓝航线强度榜第42期,本文将对战舰实力进行简要分析与排行。文章将介绍各战舰的优缺点,评估其战斗性能,并给出相应的排名。通过阅读本文,玩家可以更好地了解各战舰的实力,为游戏中的角色选择和战术安排提供参考。本文
滴滴出行顺风车
滴滴出行顺风车,一般又称滴滴出行。
抖音文案排名神器:提升你的视频热度271
歡迎來到抖音文案排名網站,你的終極資源,助你提升抖音視頻曝光度和互動度。我們的網站運用先進的演算法,根據關鍵字、熱門趨勢和最佳實務,即時評比你的抖音文案。我們了解撰寫吸引人的文案的重要性,它能提升你的視頻觸及率、吸引觀眾並
快手磁力金牛怎么充值帐户?快手磁力金牛充值后如何退款
快手磁力金牛充值指南本文将详细介绍快手磁力金牛的值和退款流程。首,我们将介绍如何充值快手磁力金牛账户,包括选择充值方式和操作步骤。接着,我们将讲解充值后如何使用磁力金牛进行投资和交易。*后,我们将解答如何申请退款以及退款的
相关文章
推荐文章
发表评论
0评