本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
内核大版本的升级涉及性能提升、新功能和问题修复等。本文介绍如何通过集群间的数据迁移升级内核大版本。
前提条件
源集群和目标集群均为社区兼容版集群。
源集群和目标集群已具备数据库账号和密码。
源集群和目标集群的副本需一致。
源集群和目标集群需在同一地域,且使用相同的VPC。
源集群和目标集群的冷热分层状态需一致。
源集群的所有本地表都需要具有唯一的分布式表。
目标集群的磁盘使用率需大于等于源集群的磁盘使用率的1.2倍。
已将源集群的IP地址添加到目标集群的白名单中。
已将目标集群的IP地址添加到源集群的白名单中。
您可以通过select * from system.clusters;
查看云数据库ClickHouse实例的IP地址。如何设置白名单,请参见设置白名单。
注意事项
升级内核大版本后不支持降级内核大版本。
迁移发起时,源集群和目标集群不能有正在运行的管控任务(包含扩容,升降配等)。
云数据库ClickHouse集群间的数据迁移支持全量迁移和增量迁移。
非MergeTree类型的表(例如,外表、Log表等)仅支持迁移表结构。因此当源集群存在非MergeTree类型的表时,若您使用数据迁移功能,目标集群中非MergeTree类型的表只有表结构没有具体的业务数据。
升级内核大版本后会造成客户端连接数据库服务失败,请务必修改客户端的连接地址。
升级内核大版本的影响
20.8及以上版本的集群在通过数据迁移升级内核大版本时,源集群在迁移过程中可读可写,为保证迁移任务尽快完成,建议在迁移任务完成95%左右时主动暂停数据写入;20.3及以下版本的集群在通过数据迁移升级内核大版本时,源集群在迁移过程中可读不可写,直到迁移完成。
目标集群在迁移过程中不可读写,直到迁移完成。
版本支持
源集群的内核版本支持如下升级。
源集群的内核版本 | 可升级到的内核版本 |
19.15 | 21.8、22.8 |
20.3 | 21.8、22.8 |
20.8 | 21.8、22.8 |
21.8 | 22.8 |
步骤一:创建目标集群
步骤二:将数据迁移至目标集群
此操作需要登录目标集群,而非源集群。
在集群列表页面,选择默认实例列表,单击目标集群ID。
单击左侧导航栏的实例迁移。
在实例迁移页面,单击创建迁移任务。
说明如果当前集群没有迁移记录,则显示没有数据。
进入到任务配置环节,选择源实例ID,并分别填写源集群和目标集群的数据库账号和数据库密码。
单击测试连接以进行下一步,进行集群的连通性校验。
测试连接成功,进行下一步。
测试连接失败。如果提示的错误信息为Source instance account or password error.时,请重新填写正确的数据库账号或数据库密码。
测试连接成功后,进入迁移内容确认环节。单击下一步:预检测并启动同步。
说明源集群可迁移内容包含:集群、库、表、数据字典、物化视图、用户权限和集群配置。
迁移任务配置完成后,后台进行迁移链路预检测并启动任务。
校验成功,单击完成。
校验失败,您需要按照提示信息进行操作,重新进行数据迁移。检测项目及要求如下。
检测项目
检测要求
实例状态检测
迁移发起时,源集群和目标集群不能有正在运行的管控任务(包含扩容,升降配等)。如果当前源实例和目的实例有管控任务正在运行,则不能发起迁移任务。
存储空间检测
迁移同步进行前,进行存储空间校验。保证目标集群的磁盘使用率大于等于源集群的磁盘使用率的1.2倍。
本地表和分布式表检测
如果存在本地表没有创建分布式表或者分布式表不唯一,则校验失败。请删除多余的分布式表。
迁移任务完成后,在实例迁移页面查看迁移任务。
说明当迁移任务的迁移状态为已完成时,说明源集群的数据已成功迁移至目标集群。
步骤三:删除源集群
删除源集群的具体操作,请参见删除集群。
源集群删除后,源集群的所有数据都会被删除无法找回,请在目标集群中检测源集群的业务数据是否全部迁移至目标集群。