ClickHouse 支持线上迁移。本小节主要介绍如何在控制台迁移 ClickHouse 数据库数据。

注意

为避免数据丢失,建议在业务低峰期执行。

约束限制

  • 源集群要迁移的数据库需要使用 Automic、MySQL、PostgreSQL、SQLite 引擎。

  • 仅支持源集群版本为 Clickhouse V1.1.6 及以上版本的数据迁移到目标集群为 Clickhouse V1.1.9 及以上版本上。

  • 不支持从高版本迁移至低版本。

  • 仅支持 MergeTree 系列表引擎和 Log 系列表引擎的数据迁移。

  • 建议您的待迁移数据使用 PARTITION BY 关键字指定分区。

  • 开启增量迁移的情况下,为避免造成数据丢失,建议您暂停对目标集群进行操作。

  • 目标集群与源集群相同 db.table 的表不同数据可能丢失。

  • 当前迁移任务没有结束,不能重复开启迁移任务。

  • 迁移过程中,禁止向源集群或本集群做关闭、重启操作或执行 DDL 语句。

  • 开启数据迁移之后,需要执行结束数据迁移,才能够进行下一次数据迁移。

前提条件

  • 已获取管理控制台登录账号和密码,且已获取集群操作权限。

  • ClickHouse 集群状态为活跃

  • 已获取源集群数据库的管理员账号和密码。

开启数据迁移

  1. 登录管理控制台。

  2. 选择产品与服务 > 数据库与缓存 > ClickHouse,进入集群管理页面。

  3. 选择目标集群,点击目标集群 ID,进入集群详情页面。

  4. 基本属性模块,点击集群操作下拉菜单。

  5. 展开下拉菜单,点击开启数据迁移

    开启数据迁移
  6. 运行开启数据迁移服务弹出框填写参数。

    开启数据迁移
    参数 说明

    源集群端口

    源集群服务端口。

    源集群用户名

    填写可以连接到源集群的用户名。

    增量迁移

    • YES:增量迁移,定期增量迁移源集群数据。ClickHouse 集群将与源数据库建立主从关系,实时同步迁移源数据库增量数据。

    • NO:仅执行一次的全量迁移。数据迁移过程,建议暂停数据写操作以保障数据一致性。

    源集群高可用 ip

    填写源集群的高可用 IP。

    源集群密码

    填写源集群用户名对应的密码。

    注意

    增量迁移基于 partition 进行,如果目标集群有源集群没有的数据,增量迁移 partition 时,可能造成数据丢失。

查看迁移状态

  1. 登录管理控制台。

  2. 选择产品与服务 > 数据库与缓存 > ClickHouse,进入集群管理页面。

  3. 选择目标集群,点击目标集群 ID,进入集群详情页面。

  4. 迁移状态页签查看用户参数及迁移进度。

    说明

    迁移进度基于您的数据量进行估算,如果目标集群存在数据,可能造成迁移进度不准确。

    • Full:正在进行全量迁移。

      full
    • Increment:设置了增量迁移且当前迁移已完成,等待下一次增量迁移。

      increment
    • Incrementing:正在进行增量迁移。

      incrementing