【笔记】Elasticsearch snapshot(快照)数据迁移

这篇具有很好参考价值的文章主要介绍了【笔记】Elasticsearch snapshot(快照)数据迁移。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0.简介

        项目中需要进行Elasticsearch(以下简称ES)新旧集群切换,涉及到集群数据迁移。本篇笔记录了利用Elasticsearch snapshot特性进行数据迁移的关键步骤。

1.迁移前检查

        在开始进行迁移前,做以下两点检查。  

        1)检查是否开启path.repo选项

               使用ES snapshot特性的前提是开启了path.repo选项,如图1。该选项指定了snapshot存储的位置。

               本次数据迁移使用的是fs类型的snapshot,ES还提供许多其他类型的快照方式,具体内容可参考官方文档。Snapshot and restore | Elasticsearch Guide [8.12] | Elastic

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

 图1

        2)检查索引

        在迁移前先检查集群中存在哪些索引和它们的分配情况,方便迁移完成后进行对比。检查数据是否迁移成功。如图2。

curl -v -XGET 'http://localhost:9200/_cat/indices' -u elasitc

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

图2

2.创建snapshot仓库

        利用ES的snapshot API,在旧集群中创建一个快照仓库。其中,location选项必须是path.repo选项指定的目录。图3是创建快照仓库成功的截图。

        type选项指定了快照仓库的类型,本例中使用的是fs类型,即文件类型。

curl -v -XPUT 'http://localhost:9200/_snapshot/test-repo' -H "Content-Type: application/json" -d '
{
    "type": "fs",
    "settings": {
        "location": "/home/dsp/help/snapshot"
    }
}' -u elastic

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

图 3

        除此之外,还可以使用以下命令查询仓库的状态。

curl -X GET "http://localhost:9200/_snapshot/my_repository/my_snapshot?pretty" -u elastic

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

3.创建索引快照

        创建好快照仓库后,创建索引的快照,为了方便演示,在这里指我们只为图2中sharedb_*索引创建快照,如图4。

curl -v -XPUT 'http://localhost:9300/_snapshot/test-repo/index-snapshot-2024-02-09?wait_for_completion=true' -H "Content-Type: application/json" -d '
{
"indices": "sharedb_cert_info_time_test"
}' -u elastic | python -m json.tool

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记图4 

这时候我们进入/home/dsp/help/snapshot中可以看到相关的备份数据。如图5。 【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

图5 

        可以通过以下命令获取索引快照的信息

curl -X GET "http://localhost:9200/_snapshot/my_repository/my_snapshot?pretty" -u elastic

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

图6 

4. 迁移数据

        迁移数据这一步非常简单,有两种方式。

        第一种方式是,启动一个新的ES集群,将path.repo路径配置为现在的路径;第二种方式是对旧集群指定的快照仓库的目录复制,再随意移动到某个地方。本例中使用第二种方式。

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

 图 7

5.配置并启动新节点并从快照中恢复数据

        现在,启动一个新的集群,并且 将path.repo选项配置正确。、

        在本例中,我们将新的ES节点监听在9400和9401端口。

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

图8 

        从下图中可以看到现在运行了两个ES实例。一个监听在9300端口,一个监听在9400端口。监听在9300端口的是旧实例,监听在9400端口的是新实例。

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

图9 

        现在我们使用restore API在9400端口的ES实例上对索引进行恢复。恢复之前我们先看看该实例目前的快照仓库信息。

curl -v -XGET 'http://localost:9400/_snapshot" -u elastic

        可以看到,目前新实例上还不存在快照仓库。所以这里需要注意,我们要先创建一个与旧实例上创建的仓库同名的快照仓库。 

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

图10 

curl -v -XPUT 'http://localhost:9400/_snapshot/test-repo' -H "Content-Type: application/json" -d '
{
    "type": "fs",
    "settings": {
        "location": "/home/dsp/help/snapshot-new"
    }
}' -u elastic

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

图11 

        图xx创建了新的快照仓库。其中的location选项是我们刚才复制的地址。再次查看仓库信息。可以提看到新的仓库已经存在。

 【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

图12 

        此时,新实例上我们虽然还没有做任何事情,但我们可以直接查看刚才备份的快照索引的信息。

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

图13 

         但如果这个时候查询分片信息的话,我们是看不到该索引的。

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

图14 

        现在,我们执行restore操作,从快照仓库中恢复sharedb_cert_info_time_test索引  

curl -XPUT "http://localhost:9400/_snapshot/test-repo/index-snapshot-2024-02-09"/_restore

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

图15 

【笔记】Elasticsearch snapshot(快照)数据迁移,笔记

图16 

        到这里,我们的索引就在新的实例上恢复了。注意到这个索引的状态是UNASSIGNED。导致UNASSINGNED在本例中与snapshot关系不大,是为某个插件的原因,因此这不是本篇笔记的关注点 ,暂时不做解释。

8.停止旧集群  

        最后,我们停止旧的实例,即完成了迁移。

10.小结

        ES迁移数据的方法有很多,这里只做了快照方法迁移。还可以使用elasticsearch-dump工具对索引进行迁移。当然,还有一个更加简单的方式——直接迁移ES data目录即可。赶快去试试吧。

        不过需要各位注意的是,ES进行数据迁移时,需要注意版本问题,无论是小版本(例如7.17.x->7.17.x),还是大版本(7.xx.xx -> 8.xx.xx)都有可能出现问题。ES官方网站上可以查询到版本之前的兼容信息。文章来源地址https://www.toymoban.com/news/detail-826734.html

到了这里,关于【笔记】Elasticsearch snapshot(快照)数据迁移的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ES数据迁移(snapshot)

    以下是我从5.x版本集群迁移至6.x集群,比较简单,因此简单记录一下

    2024年02月17日
    浏览(42)
  • 13、HDFS Snapshot快照

    1、hadoop3.1.4简单介绍及部署、简单验证 2、HDFS操作 - shell客户端 3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件夹属性等)-java 4、HDFS-java操作类HDFSUtil及junit测试(HDFS的常见操作以及H

    2024年02月11日
    浏览(45)
  • HDFS中snapshot快照机制

    snapshot是数据存储的某一时刻的状态记录,备份(backup)则是数据存储的某一个时刻的副本 HDFS snapshot快照是整个文件系统或某个目录在某个时刻的镜像,该镜像并不会随着源目录的改变而进行动态的更新 数据恢复 对重要的目录进行创建snapshot的操作,当用户误操作时,可以

    2024年02月13日
    浏览(84)
  • ES数据迁移_snapshot(不需要安装其他软件)

    参考文章: 三种常用的 Elasticsearch 数据迁移方案 ES基于Snapshot(快照)的数据备份和还原 CDH修改ElasticSearch配置文件不生效问题 添加 path.repo: [\\\"backup\\\"] 即可,截图如下: 请求方式: 请求链接: 请求头: 请求体: 整体效果如下图: 请求方式: 请求链接: 请求头: 请求参数

    2024年01月16日
    浏览(53)
  • ES快照备份及恢复(ES数据迁移)

    目录 ES配置仓库 elasticsearch.yml 注册仓库 仓库相关操作 查看仓库 删除仓库 创建快照 快照相关操作 查询快照 删除快照 恢复快照 快照全量恢复 指定索引恢复 恢复时重命名 合并索引 索引相关操作 查询全量索引 查询索引状态 打开/关闭索引 删除索引 迁移步骤说明: 需搭建共

    2023年04月09日
    浏览(43)
  • postgresql 从应用角度看快照snapshot使用,事务隔离控制不再神密

    ​ 专栏内容 :postgresql内核源码分析 个人主页 :我的主页 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 快照是事务中使用,配合事务的隔离级别,体现出不同的可见性。 快照在事务中自动获取,我们可以通过查看当前事务的快照和事务号来判断分析。 为了

    2024年02月10日
    浏览(32)
  • 数据迁移通用笔记(Minio、Mysql、Mongo、ElasticSearch)

    序号 更新时间 备注 1 2024.03.26 初始化笔记 2 2024.03.27 细化ES 集群和单节点的描述 3 2024.04.01 针对集群迁移失败的问题增加描述 这里主要存在两种模式 1、直接通过minio之间mirro镜像迁移 ​ 整体上通过配置别名进行区分迁移 2、通过备份迁移数据 ​ 通过备份文件和恢复文件来迁

    2024年04月28日
    浏览(35)
  • 阿里云国际版基于快照与镜像功能迁移云服务器数据

    随着ECS实例的不断迭代,较早创建的ECS实例可能出现无法新增资源补给等问题,进而影响您对云上业务的运维。因此,阿里云建议您通过快照与镜像功能,将源ECS实例数据迁移至新创建的目标ECS实例上,以保障您云上业务的运维效率。下面和87cloud一起了解阿里云国际版基于快

    2024年02月01日
    浏览(73)
  • Maven 打包时,依赖配置正确,但是类引入出现错误,一般是快照(Snapshot)依赖拉取策略问题

    问题描述 : 项目打包时,类缺少依赖,操作 pom.xml - Maven - Reload project ,还是不生效,但是同事(别人)那里正常。 问题出现的环境 : 可能项目是多模块项目,结构例如: 可能继承另一个项目(项目是快照版本),例如: 可能依赖是快照版本,例如: 问题分析 : Maven 查

    2024年01月23日
    浏览(37)
  • 使用 Easysearch 还原 Elasticsearch 快照数据

    本文主要测试验证 Elasticsearch 各版本快照在 Easysearch 中进行数据恢复。 ignore_unavailable:如果 indices 列表中的索引不存在,则是否忽略该索引而不是使快照失败。默认值为 false 。 include_global_state:是否在快照中包含集群状态(包括索引模版、生命周期配置、持久化配置等)。

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包