本文介绍通过BDS服务,快速迁移Cassandra数据。

背景信息

BDS是阿里云提供的一款NoSQL数据迁移服务,支持在线迁移Cassandra数据。通过BDS,您可实现对cassandra进行海量数据的快速迁移,可将业务中断缩短至数分钟,最大限度降低对业务的影响。

前提条件

  • 已准备好数据迁移的目标环境,如:已购买云Cassandra数据库。
  • 确保源Cassandra集群已开启SFTP服务(开启SFTP服务)。
  • 若还需要增量迁移,请先在源Cassandra集群通过nodetool开启incremental backup。

操作流程

  1. 登录阿里云官网,购买BDS服务
    说明
    • 建议创建BDS服务时,BDS的地域和可用区与源Cassandra集群的地域和可用区保持一致。
    • 建议创建BDS服务时,BDS和源Cassandra集群使用相同的VPC和VSwitch。
    购买BDS服务
  2. 配置源集群和目标集群的Endpoint地址。
    1. 添加源Cassandra集群和目标Cassandra集群的IP地址至BDS服务的白名单中。
      说明 白名单设置入口:访问控制 > 增加分组白名单
      添加白名单
    2. 添加BDS服务的IP地址至目标Cassandra集群的白名单中。
  3. 添加源集群和目标集群数据源。
    1. 登录集群管理页面:在BDS控制台详情页,单击基本信息 > UI访问 > BDS,输入账号密码。
      说明 若忘记密码,可在BDS详情页,单击重置UI访问密码,进行密码重置。
      登录集群管理页面
    2. 单击数据源管理 > 添加数据源,进入添加数据源页面。
      添加数据源
    3. 分别为源集群和目标集群自定义集群名,设置数据源类型为Cassandra3x,添加数据源参数。
      数据源参数的模板参考如下:
      {
        "cassandraPassword":"访问cassandra集群密码",
        "cassandraUser":"访问cassandra集群账户",
        "confDir":"你的cassandra 配置文件目录",
        "dataDir":[
          "你cassandra 数据的目录"
        ],
        "hosts":[
          {
            "ip":"集群cassandra ip,如果有多个的话,按照下面方式组织"
          },
          {
            "ip":"多个集群ip第二个,依次类推"
          },
          {
            "ip":"多个集群ip第三个"
          }
        ],
        "nodetoolCmd":"你cassandra的nodetool的目录地址,细化到nodetool,比如xxx/bin/nodetool",
        "sshPassword":"ssh可以访问的密码",
        "sshUser":"ssh可以访问的账户",
        //以下2行目标集群数据源模板需要配置下,启动和停止cassandra命令需要写绝对路径,真实数据源配置文件中删除本行提示
        "startCmd":"su cassandra -l -c '启动cassandra命令'", 
        "stopCmd":"su cassandra -l -c '停止cassandra命令'"
      }
    4. 单击添加
  4. 创建并启动迁移。
    1. 单击Cassandra迁移 > 一键搬站,进入Cassandra迁移任务启动页面。
    2. 输入源数据源、目标数据源,并勾选操作任务(初始化目标集群、表结构迁移、增量数据同步、历史存量数据迁移)。
      说明
      • 源数据源和目标数据源指在数据源管理页面设置的源数据源集群名称和目标数据源集群名称。
      • 首次迁移全量数据时,建议将4个操作任务均勾选上。
    3. 可选:添加需同步的表信息:在表映射中,将需要迁移的表,按照规定格式进行填写。
      说明 若在表映射中未填写表信息,则默认迁移全量表。
    4. 单击创建,开始进行迁移。
    开启迁移