全部产品
Search
文档中心

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

更新时间:Mar 17, 2023

云数据库ClickHouse的数据迁移功能支持全量迁移和增量迁移,由目标集群发起。您可以通过该功能实现相同内核版本集群之间或低版本集群向高版本集群的数据迁移。本文介绍如何在控制台上使用数据迁移功能。

前提条件

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

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

  • 源集群和目标集群的副本需一致。

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

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

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

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

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

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

说明

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

注意事项

  • 数据迁移不支持高版本集群向低版本集群迁移。

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

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

  • 非MergeTree类型的表(例如,外表、Log表等)仅支持迁移表结构。因此当源集群存在非MergeTree类型的表时,若您使用数据迁移功能,目标集群中非MergeTree类型的表只有表结构没有具体的业务数据。

数据迁移的影响

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

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

版本支持

源集群支持数据迁移至如下版本。

源集群版本

目标集群版本

19.15

19.15、20.3、20.8、21.8、22.8

20.3

20.3、20.8、21.8、22.8

20.8

20.8、21.8、22.8

21.8

21.8、22.8

22.8

22.8

操作步骤

  1. 登录ClickHouse控制台

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

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

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

    实例迁移
    说明

    如果当前集群没有迁移记录,则显示没有数据

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

    选择源及目标实例
  6. 单击测试连接以进行下一步,进行集群的连通性校验。

    • 测试连接成功,进行下一步。

    • 测试连接失败。如果提示的错误信息为Source instance account or password error.时,请重新填写正确的数据库账号数据库密码

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

    迁移内容配置
    说明

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

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

    • 校验成功,单击完成预检测成功

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

      检测项目

      检测要求

      实例状态检测

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

      副本一致性检测

      保持源集群和目标集群的副本一致。副本不一致,会导致参数缺失,无法进行副本的配置。

      存储空间检测

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

      本地表和分布式表检测

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

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

    迁移任务管理
    说明

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

相关文档

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