跨集群数据迁移 用户在腾讯云上自建的ES集群或者在其它云厂商购买的ES集群,如果要迁移至腾讯云ES,用户可以根据自己的业务需要选择适合自己的迁移方案。 如果业务可以停服或者可以暂停写操作,可以参考离线迁移的四种方案。 离线迁移 离线迁移需要先停止老集群的写操作,将数据迁移完毕后在新集群上进行读写操作。适合于业务可以停服的场景。 离线迁移大概有以下几种方式: elasticsearch-dump snapshot reindex logstash elasticsearch-dump 适用场景 适合数据量不大,迁移索引个数不多的场景 注意此操作并不能迁移索引的配置如分片数量和副本数量,必须对每个索引单独进行配置的迁移,或者直接在目标集群中将索引创建完毕后再迁移数据 elasticdump --input=http://172.16.0.39 api接口,可以通过snapshot api进行跨集群的数据迁移,原理就是从源ES集群创建数据快照,然后在目标ES集群中进行恢复。
同时, 为了确保迁移后业务及数据的正确性, 迁移后测试工作也要占用不少时间. 如此造成的损失是比较大的。 接下来, 本文将就如何在不停服的情况下进行数据迁移进行探讨。 要求: 将原20张分表数据迁移至新表 迁移全过程中不可停机, 须对外提供完整的服务. 提供完备的回退方案, 迁移过程中产生的数据不可丢, 不能人为修数据。 ? 新分表策略 迁移方案分析 数据迁移的方案从业务层到数据库层各有不同的迁移方案, 我们先列举一些进行比对: 业务层: 在业务层进行硬编码, 数据双写, 以某个时间点进行划分, 新产生的数据同时写入新表, 运行一段时间后将旧数据迁移至新表. 迁移 回退方案分析 新代码上线后, 谁也不能确保百分百没问题. 若迁移失败, 必须要进行回滚. 所以, 需要保证原数据和新数据的同步.
Vite学习指南,基于腾讯云Webify部署项目。
docker部署nexus 使用docker的方式部署,在创建容器之前先创建好存放nexus的数据目录 mkdir -p /export/server/nexus3-server/data chown INSTALL4J_ADD_VM_PARAMS="-Xms2g -Xmx2g -XX:MaxDirectMemorySize=3g 访问测试 ip:8082 用户名:admin 密码:admin123 迁移 直接备份nexus的整个数据目录,要迁移的数据为老的私服数据,目录在 $HOME/sonatype-work/nexus3目录下 # tree -L 1 . ├── backup ├── blobs 服务停掉 docker contaienr stop nexus-server 然后解压,重启容器即可,完成后,便可进行访问测试 以上是maven的私服仓库搭建和数据迁移,下面是maven的settings.xml 比如生产环境和测试环境都需要一个私服,但是在平时的开发过程中,测试环境的私服里的私有包经常会变化,如果要定期对测试环境的私服做迁移,工作量则会有点大,所以通过代理的方式,线上私服代理测试私服。
2.2 多集群 在新机房搭建一套新的 Hadoop 集群,第一次将全量 HDFS 数据通过 Distcp 拷贝到新集群,之后保证增量的数据拷贝直至两边的数据完全一致,完成切换并把老的集群下线,如图2.2 、怎么快速识别&快速回滚) (记为方案D) 按照DP上的任务血缘关系,分层(比如按照数据仓库分层依次迁移 ODS / DW / DM 层数据)、分不同业务线迁移,优点是风险较低(分治)且可控,缺点是用户感知较为明显 (工具保证) 离线任务的迁移,如何做到较低的迁移成本,且保障迁移期间任务代码、数据完全一致?(平台保证) 完全迁移的条件怎么确定?如何降低整体的风险? 3.2 离线任务的迁移 目前有赞所有的大数据离线任务都是通过 DP 平台来开发和调度的,由于底层采用了两套 Hadoop 集群的方案,所以迁移的核心工作变成了怎么把 DP 平台上任务迁移到新集群。 工作流之间存在循环依赖,导致双跑-全部迁移的流程走不下去,所以数仓建设的规范很重要,解决方案就是要么让用户对任务重新组织,来重构工作流的依赖关系,要么两个工作流双跑后,一起全部迁移。
之前写过一篇文章:binlog还能这么用之Canal篇,在里面介绍了一些增量数据迁移的一些方法,但是对于整体的数据的迁移介绍得不是很深,这里想对迁移数据整体做一个介绍,希望能帮助到大家。 在实际业务开发中,我们会根据不同的情况来做出不同的迁移方案,接下来我们来讨论一下到底应该怎么迁移数据。 存量数据迁移 首先我们来说一下存量数据迁移应该怎么做,存量数据迁移在开源社区中搜索了一圈发现没有太好用的工具,目前来说阿里云的DTS提供了存量数据迁移,DTS支持同构和异构不同数据源之间的迁移,基本支持业界常见的数据库比如 那么DTS的存量迁移怎么做的呢? 但是如果系统中没有做规划的预留段怎么办呢?
2017年的数据迁移 - 2019年的服务迁移 终于, 不会在正打算拷贝数据的时候出现⬇️的疑惑了... ? ? 什么是服务迁移 ? 旁边的小伙伴悄悄说:有了服务迁移,再也不怕错过腾讯云的羊毛了! ? 服务迁移,名字听起来很高级的样子,具体要怎么用呢? ◆ ◆ ◆ ◆ ◆ ? 服务迁移如何使用 根据你想要原主机关机或者不关机,我们有两套方案,「离线迁移」和「在线迁移」。 # 在线迁移 相较于离线迁移的"停机加油",「在线迁移」更接近“空中加油”的方式,源机器不需要生成文件,在整个数据迁移过程中不需要中断运行。 /go2tencentcloud_x64 # 离线迁移 「离线迁移」同时支持系统盘镜像文件的迁移和数据盘镜像文件的迁移,只需简单几步,就可以将数据迁入指定的云服务器或者云硬盘上。
如果准备将自建的elasticsearch迁移上云,或者的迁移到其他es集群内,可以根据自己的业务需要选择合适的迁移方案。 : 迁移方式 适用场景 COS 快照 数据量大的场景(GB、TB、PB 级别)对迁移速度要求较高的场景 logstash 迁移全量或增量数据,且对实时性要求不高的场景需要对迁移的数据通过 es query 但需要先在自建 ES 集群上安装 cos-repository 插件(安装插件后需要重启集群才能使用),先把自建 ES 集群中的数据先备份到 COS,然后在腾讯云上的 ES 集群中恢复出来,以完成数据的迁移 此操作并不能迁移索引的配置,例如分片数量和副本数量,必须对每个索引单独进行配置的迁移,或者直接在目标集群中将索引创建完毕后再迁移数据。 而使用 snapshot 的方式则没有这个限制,因为 snapshot 方式是完全离线的。
主要方法 在线迁移服务 使用联机迁移服务进行迁移。各种数据源的数据,批量迁移到OSS。迁移期间无需设置迁移环境。您可以在线提交迁移任务并随时监控迁移过程。请参阅在线迁移服务文档。 闪电立方 适用于离线数据中心的大规模数据迁移,支持TB到PB级别的大规模数据。具体参考官方网站产品介绍闪电立方体。 每种方法的选择如下: 在线迁移服务 它适用于将各种大小的第三方源数据迁移到OSS。 OssImport 适用于将历史数据批量迁移到OSS,特别适用于大数据量。 当数据量很大时,请使用ossimport的分布式版本。 镜像回源 适用于源站新的热门数据在线迁移到OSS,例如您对数据热迁移,特定请求重定向等的需求。 每种方法的选择如下: 在线迁移服务 适用于各种规模的数据迁移方案。 说明:不适用于归档类型的文件迁移。 OSS跨区域复制 源桶和目标桶属于同一用户,属于不同的区域。
首先是背景,我们为什么要做RDS,在做RDS之前其实我们也有一套自己的自动化系统,可是我们有了这套自动化系统我们发现有了之后我们DBA还是很忙,每天忙于工单处理,大表DDL,集群搭建,扩容,数据迁移等等 所以我们改变了以前的思路,我们以前自己搭的系统全部废掉,全部用线上的系统,我们从整个系统维护搭建以及我们使用的组件全是线上一模一样的一套,甚至包括我们数据库这些东西,全部托管到我们DBA来,还有对服务器这块交给业务运维他们去管 就是我们希望开发与我们DBA的整个交互,靠这个系统来交互,你不要老找我说这说那,你就跟我系统打交道好了,有什么错我们系统会告诉你,告诉你怎么去做,让DBA完全从我们整个平台的日常需求里面脱离出来,这就是我们整个的设计理念 RDS系统实现了DBA的一键集群搭建,扩容/缩容,备份还原,流量控制,动态迁库/拆库,以及单表拆分等功能。我们主要来看看动态数据迁移。 ? 其中增量数据迁移我们支持中间机(搭建MySQL中间机,通过配置过滤规则进行数据同步)和puma两种方式,因为各有优缺点(前者快但繁琐且只能有一个源,而后者虽然稍慢,但是支持多源同目标)。 ?
离线数据迁移,即将源端数据盘镜像迁入至腾讯云侧指定的云硬盘 这里的源端可以是腾讯云,也可以是其他云,例如AWS,阿里云等等 一.源端准备工作 1.将数据盘挂载至服务器 2.检查数据盘的数据大小,以及文件是否正常访问 COS控制台链接 https://console.cloud.tencent.com/cos5/bucket image.png 文件上传比较慢,请耐心等待,上传完成后即可下一步 四.开始离线迁移数据 rid=8 2.选择地域后,点击【新建数据迁移】,下一步 image.png 3.新建迁移任务 image.png (1)所在地域:与cos地域一致,与要源端数据盘地域一致 (2)任务名称:可自定义 ( 3)cos链接:填写上面复制过来的cos镜像链接 勾选要迁入的云硬盘,这里的云盘必须是待挂载状态,否则需要到云硬盘列表,手动将这块数据盘卸载后再进行迁移,卸载可参考下图 image.png 五.可在列表中关注迁移进度 此过程比较慢,请耐心等待,迁移时间和数据大小有关,一般需要半个小时以上 image.png 5.迁移完成后如下图所示 image.png 六.确认数据是否完整 将迁移完成的数据盘挂载至任意Windows
离线数据迁移,即将源端数据盘镜像迁入至腾讯云侧指定的云硬盘 这里的源端可以是腾讯云,也可以是其他云,例如AWS,阿里云等等 一.源端准备工作 1.将数据盘挂载至服务器 2.检查数据盘的数据大小,以及文件是否正常访问 (3)在腾讯云cos控制台点击上传,然后选择刚刚下载的镜像文件 image.png 文件上传比较慢,请耐心等待,上传完成后即可下一步 四.开始离线迁移 1.获取cos链接 在腾讯云cos控制台,点击文件右边的详情 rid=8 3.选择地域后,点击【新建数据迁移】,下一步 image.png 4.新建迁移任务 image.png 注意: 所在地域:与cos地域一致,与要源端数据盘地域一致 任务名称:可自定义 cos 链接:填写上面复制过来的cos镜像链接 勾选要迁入的云硬盘,这里的云盘必须是待挂载状态,否则需要到云硬盘列表,手动将这块数据盘卸载后再进行迁移,卸载可参考下图: image.png 5.可在列表中关注迁移进度 image.png 6.迁移完成后如下图所示 image.png 如迁移失败,将鼠标放在失败状态上面,会提示原因,请根据原因提示做修改调整,重新参考此文操作迁移。
当我们决定存储某种数据,在创建索引的时候就需要将数据结构,即Mapping确定下来,于此同时索引的设定和很多固定配置将不能改变。那如果后续业务发生变化,需要改变数据结构或者更换ES更换分词器怎么办呢? 为此,Elastic团队提供了很多通过辅助⼯具来帮助开发⼈员进⾏重建索引的方案。如果对 reindex API 不熟悉,那么在遇到重构的时候,必然事倍功半,效率低下。 blog_lastest,Mapping数据结构与blog索引一致 将blog数据同步至blog_lastest 删除blog索引 数据同步后给blog_lastest添加别名blog 新建索引 在这里推荐一个 【冲突数据无法写入】,我们也可以把 op_type 设置为 index,表示所有的数据全部重新索引创建。 POST /blog/_search { "query": { "match": { "author": "james" } } } 如果搜索结果达到我们的预期目标,至此,数据索引重建迁移完成
当我们决定存储某种数据,在创建索引的时候就需要将数据结构,即Mapping确定下来,于此同时索引的设定和很多固定配置将不能改变。 <! -- more --> 那如果后续业务发生变化,需要改变数据结构或者更换ES更换分词器怎么办呢?为此,Elastic团队提供了很多通过辅助⼯具来帮助开发⼈员进⾏重建索引的方案。 blog_lastest,Mapping数据结构与blog索引一致 将blog数据同步至blog_lastest 删除blog索引 数据同步后给blog_lastest添加别名blog 新建索引 在这里推荐一个 【冲突数据无法写入】,我们也可以把 op_type 设置为 index,表示所有的数据全部重新索引创建。 POST /blog/_search { "query": { "match": { "author": "james" } } } 如果搜索结果达到我们的预期目标,至此,数据索引重建迁移完成
《当年,我们是怎么平滑上云的?》 ; 《多机房多活架构,究竟怎么玩?》 步骤一,前置条件: (1)新机房准备就绪; (2)专线准备就绪; 步骤二,在新机房搭建好待迁移的子业务,部署好web站点,业务服务,基础服务,做好充分的测试。 在迁移数据库之前,服务通过专线跨机房连数据库。 如何进行数据库迁移呢? 步骤六,先在新机房搭建新的数据库。 画外音:自建机房,需要自己搭建新的MySQL实例;到家直接使用阿里云的RDS。 自顶向下的机房迁移方案总结 一、先迁移站点层、业务服务层和基础服务层 (1)准备新机房与专线; (2)搭建集群,充分测试,子业务垂直拆分迁移; (3)灰度切流量; 二、缓存层迁移 (4)搭建新缓存; (
最重要的是,全量搭建一套再流量切换,数据层你怎么搭建一套?怎么切?数据层原来都在A机房,B机房还没有全量的数据,是没办法直接切的。 自顶向下的的迁移,最先迁移站点层和服务层:先在新机房,把站点层和服务层搭建好,并做充分的测试(此时数据层比如说缓存和数据库还是在原来的机房)。 如何进行数据库迁移呢,首先肯定是在新机房搭建新的数据库,如果是自建的IDC机房,需要自己搭建数据库实例,58到家直接用的是阿里云的RDS。 搭建好数据库之后,接下来进行数据同步,自建机房可以使用数据库MM/MS架构同步,阿里云可以使用DTS同步,DTS同步有一个大坑,只能使用公网进行同步,但问题也不大,只是同步的时间比较长(不知道现能通过专线同步数据了吗 断开旧连接,重连新缓存,完成迁移;最后数据库的迁移,搭建数据库,数据进行同步,只读,保证数据同步完成之后,修改配置,重启,完成迁移。
背景 最近在支持一个从Oracle转TiDB的项目,为方便应用端兼容性测试需要把Oracle测试环境的库表结构和数据同步到TiDB中,由于数据量并不大,所以怎么方便怎么来,这里使用CSV导出导入的方式来实现 它包含以下几点核心功能:schema转换、表结构检查、迁移成本评估、数据迁移(全量或增量)、CSV导出等,其中有些功能目前还是实验特性,我这里只用到了它的核心特性schema转换。 网上的资料比较多,这里就不详细介绍怎么去使用了,作者(前阿里数据库大佬)也写了一份超级详细的文档,大家搜索sqluldr2超详细使用教程-loracle数据导出工具及方法即可。 其他部分 至于Oracle的其他部分例如存储过程和自定义函数,也不用多想怎么去迁移了,老老实实改代码去应用端实现。 总结 在之前的项目中也使用过DSG来实现Oracle到TiDB的数据迁移,但它毕竟是个纯商业性工具,先充钱才能玩,对于这种测试阶段来说不是太好的选择。
数据迁移是DBA的日常工作,对于相应的方法、命令等,相信很多人早已了如指掌。圆满的数据迁移流程不单单指将数据从数据库A备份恢复到数据库B,而且要保证迁移前后数据的完整性、服务的可用性。 近日,在给客户做了单机到集群的数据迁移后,发现集群的在线重做日志切换频繁,进而产生了大量的归档日志,对服务器造成了不小的压力。本文是对上述问题的分析处理过程。 日志归档频繁 在迁移完成后,需要对集群进行一段时间的深度观察。通过v$archived_log视图,分析数据库历史的归档情况,可以发现整个库的业务活动情况。 ? 观察上图,不难发现迁移(6月15日)前后是一个明显得变化点,每天日志归档频率由原来的100多次变成400多次。这种情况要么是迁入的系统业务量确实很大,要么是迁入的数据库用户配置有问题。 2. 在迁移之前,最好能够跟应用管理员确认清楚业务的特点,包括现有业务的压力情况、已发现的性能瓶颈、不再需要的各类数据库对象(索引、视图、存储过程、函数、触发器等),提前做好应对措施,保证数据迁移的圆满完成。
操作场景 数据传输服务 DTS 支持数据迁移功能,提供自建 MySQL 数据库到云数据库 TencentDB 的连续数据复制,用户可在不停服的情况下对数据进行在线热迁移,支持具有公网 IP/Port 或专线接入腾讯云的本地 IDC 或腾讯云 CVM 上 MySQL 数据库迁移。 当然您也可以选择使用 DTS 数据迁移工具直接从本地 MySQL 5.1 迁移至腾讯云 TencentDB for MySQL 5.5。 DTS 数据迁移任务分为冷备数据导出和增量数据同步两步,其中,冷备数据导出以及迁移后的数据对比过程会对源库负载产生一定的影响,建议在业务低峰期或在备库上做数据库迁移 开始搭建 1、准备源和目的环境 源: image.png (因为我这里是新建的实例,没做过什么配置,所以会遇到大部分的配置报错) 2.1 失败原因:源实例没有开启log-bin image.png 解决方案:自建mysql配置文件添加
云数据迁移(Cloud Data Migration)是腾讯云提供的 TB ~ PB 级别的数据迁移上云服务。本服务提供了安全可靠的离线迁移专用设备,满足本地数据中心进行大规模数据迁移上云的需求,解决本地数据中心通过网络传输时间长、成本高、安全性低的问题。
扫码关注云+社区
领取腾讯云代金券