腾讯云ES与COS之间的那点事儿

前言|

关于ES与COS之间的使用场景主要体现在数据迁移、数据恢复备份这几个方面。其原理就是通过COS将源ES数据中间存储,然后再将存储的数据进行目标ES集群异步恢复的过程。COS在ES数据离线迁移Snapshot方式中使用较为广泛;因为近期遇到的此类需求挺多,结合客户实际以及腾讯云ES官方文档,特地梳理总结,通过本文,您可以了解到以下场景的COS使用:

1,用户自建ES集群<多节点>如何通过snapshot+fs+cos的方式实现数据到腾讯云ES的迁移恢复

2,用户自建ES集群<多节点>如何通过snapshot+cos的方式实现数据到腾讯云ES的迁移恢复

3, 用户如何将不同地域的cos桶之间的数据做迁移恢复

4,腾讯云ES数据到cos、cos到自建ES之间的数据备份、恢复

一、用户自建ES集群<多节点>通过snapshot+fs+cos的方式实现数据到腾讯云ES的迁移恢复

这里提一下为什么不用单节点来演示呢,因为单节点操作简单。而且实际环境基本都是多节点。因此我们就以该环境来测试。以下是该环境的操作流程,如下:

1,操作原理

在源 ES 集群中创建一个 fs类型的 repository仓库,这个仓库下后面可以存放很多的数据快照文件。创建快照前必须先创建 repository 仓库。那么这里的fs(file system)表示共享文件系统,也称为share file system.

换言之,就是这个共享类型的仓库将存放来自集群的数据快照。而集群又是多节点,数据又均匀的分布在各个节点上。所以,集群中的每个节点都必须能访问到这个共享类型的仓库,并且能写入文件。为此,我查阅了相关资料,得到如下答复:

只要以上四步,NFS Server就配置完成了。接下来,我们配置NFS客户端。步骤如下:

首先:确保客户端安装以下几个插件:

5:在云ES,针对之前存在COS里的快照进行恢复。 使用命令如下:

POST _snapshot/仓库名/快照名/_restore 同样,注意索引名如果存在就回报数据冲突的错。这里就不再细说。

三、 用户如何将不同地域的cos桶之间的数据做迁移恢复

案例分析:

有个客户,因为广州的ES2集群的数据存在广州区的bucket桶里,现在需要将数据迁移到位于上海区域的ES集群里,怎么操作呢?

我们可以在上海区域的网络环境里创建一个bucket,然后将源广州bucket的数据迁移到上海的Bucket里然后执行恢复。

首先:简单看一下案例拓扑,如下:

COS跨区操作

其次:具体操作步骤

1,COS间数据迁移,有两种方式实现:

第一种方式:

将原有bucket上的备份文件打包,然后上传到目标的新建的bucket上。原有的集群的快照文件如下图所示,全部要打包:

快照文件数据上传

第二种方式:直接在腾讯云cos控制台上选择源快照文件所在的bucket,"复制",然后“粘贴”到目标的bucket上,如下所示:

复制粘贴方式拷贝数据

2,在目标ES集群注册仓库,将其挂载到新建的上海的bucket里,如下:

目标ES集群注册仓库

3,执行恢复 ,使用如下命令:

恢复快照

4,验证数据,在目标上海集群查看索引是否存在。

验证数据

结论:

跨区COS间的数据迁移恢复,验证成功。

这里要注意:腾讯云ES与COS之间不支持外网访问,默认走的内网。因此,在创建内部COS桶的时候一定要选择同地域。

另外,COS间的数据恢复有更加轻便的方法,具体可以参考COS官方文档。

四,腾讯云ES数据到cos、cos到自建ES之间的数据备份、恢复

腾讯云ES默认集成COS插件,所以,配置也非常简单,基本流程都是创建仓库--执行快照--COS确认这样一个过程。相反,

COS存储的快照文件也可以在控制台上下载,然后上传到自建ES集群上,接着在自建ES集群安装对应的COS插件--创建仓库,执行数据恢复。相信经过上面三种方式的学习了解,这个自然也不在话下,这个场景应用的不多,配置简单,大家可以动手操作一下,这里就不做过多讲解。

五、总结

本章节我们总结了腾讯云ES、COS、自建ES之间各个场景的应用与实战,经过上面的过程,我们可以更加深入的了解多个组建的协同应用,清楚的了解各个组建运行的详细流程,以及常见故障的排查,当然,本文不是基于基础的详细讲解,如果想了解更多的参数、命令可以参考腾讯云ES官方文档种关于本章节的讲解。链接如下:

https://cloud.tencent.com/document/product/845/19549

https://cloud.tencent.com/document/product/845/35568

常见问题1:

腾讯云ES 6.4.3 可能因为自身版本问题导致,执行创建仓库时报错,唯一能处理的办法是将云ES升级,比如升级到6.8.2

否则一直报如下错误:

目标ES6.4.3仓库创建报错

常见问题2:

COS仓库时逻辑概念,注册仓库后,bucket桶里不存在文件,只有创建快照后,才会生成文件。

常见问题3:

COS网络。如果腾讯云ES、COS之间不在同地域,那么两者之间时无法进行通信的。切记。

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
腾讯云ES与COS之间的那点事儿
关于ES与COS之间的使用场景主要体现在数据迁移、数据恢复备份这几个方面。其原理就是通过COS将源ES数据中间存储,然后再将存储的数据进行目标ES集群异步恢复的...
<<上一篇
下一篇>>