全部产品
Search
文档中心

云数据库 ClickHouse:云数据库ClickHouse集群间的数据迁移

更新时间:Dec 22, 2023

当您计划切换云数据库ClickHouse的版本时,可以使用云数据库ClickHouse控制台的数据迁移功能进行数据迁移。该功能支持数据的全量迁移和增量迁移,来确保您数据的完整性。

前提条件

  • 源集群和目标集群均为社区兼容版集群。

  • 源集群和目标集群已具备数据库账号和密码。

  • 源集群和目标集群需在同一地域,且使用相同的VPC。

  • 源集群和目标集群的冷热分层状态需一致。

  • 源集群的所有本地表都需要具有唯一的分布式表。

  • 目标集群的存储空间需大于等于源集群的存储空间的1.2倍。

  • 已将源集群的IP地址和目标集群的IP地址添加到对方的白名单中。

    说明

    您可以通过SELECT * FROM system.clusters;查看云数据库ClickHouse实例的IP地址。如何设置白名单,请参见设置白名单

注意事项

  • 源集群进行数据迁移时仅支持同版本迁移或低版本至高版本迁移。

  • 迁移发起时,源集群和目标集群不能有正在运行的管控任务(包含扩容,升降配等)。

  • 云数据库ClickHouse集群间的数据迁移支持全量迁移和增量迁移。

  • 源集群可迁移内容包含:集群、库、表、数据字典、物化视图、用户权限和集群配置。

    非MergeTree类型的表(例如,外表、Log表等)仅支持迁移表结构。因此当源集群存在非MergeTree类型的表时,若您使用数据迁移功能,目标集群中非MergeTree类型的表只有表结构没有具体的业务数据。具体业务数据迁移可以使用remote函数进行迁移,详情请参见通过remote函数进行数据迁移

数据迁移时的影响

  • 20.8及以上版本的源集群在迁移过程中可读可写,为保证迁移任务尽快完成,建议在迁移任务完成95%左右时主动暂停数据写入;20.3及以下版本的源集群在迁移过程中可读不可写,直到迁移完成。

  • 目标集群在迁移过程中不可读写,直到迁移完成。

操作步骤

  1. 登录ClickHouse控制台

  2. 集群列表页面,选择默认实例列表,单击目标集群ID。

  3. 单击左侧导航栏的实例迁移

  4. 实例迁移页面,单击创建迁移任务

    实例迁移

  5. 进入到任务配置环节,选择源实例ID,并分别填写源集群和目标集群的数据库账号数据库密码

  6. 单击测试连接以进行下一步,进行集群的连通性校验。

  7. 测试连接成功后,进入迁移内容确认环节。单击下一步:预检测并启动同步

  8. 迁移任务配置完成后,后台进行迁移链路预检测并启动任务。

    • 校验成功,单击完成

    • 校验失败,您需要按照提示信息进行操作,重新进行数据迁移。检测项目及要求如下。

      检测项目

      检测要求

      实例状态检测

      迁移发起时,源集群和目标集群不能有正在运行的管控任务(包含扩容,升降配等)。如果当前源实例和目的实例有管控任务正在运行,则不能发起迁移任务。

      存储空间检测

      迁移同步进行前,进行存储空间校验。保证目标集群的存储空间大于等于源集群的存储空间的1.2倍。

      本地表和分布式表检测

      如果存在本地表没有创建分布式表或者分布式表不唯一,则校验失败。请删除多余的分布式表。

  9. 迁移任务完成后,在实例迁移页面查看迁移任务。

    迁移任务管理

    说明

    当迁移任务的迁移状态已完成时,说明源集群的数据已成功迁移至目标集群。

相关文档

如何从自建的ClickHouse将数据迁移到云数据库ClickHouse上,请参见将自建ClickHouse数据迁移到云ClickHouse中