本文介绍如何将半托管JindoFS集群迁移到OSS-HDFS服务。

前提条件

  • 半托管JindoFS集群对应的OSS Bucket已开通OSS-HDFS服务。
  • 半托管JindoFS集群已开启AuditLog。

步骤一:全量迁移

全量迁移模式负责将半托管JindoFS集群中的某个目录中的元数据一次性全量迁移OSS-HDFS服务中的某个目录。目前仅支持迁移到OSS-HDFS服务中的一级子目录。

  • 命令格式
    jindo distjob -migrateImport -srcPath <srcPath> -destPath <desPth> -backendLoc <backendLoc>

    参数说明如下:

    参数 说明
    -srcPath 待迁移的半托管JindoFS集群的源路径。
    -destPath OSS-HDFS服务中存放半托管JindoFS集群的目标路径。
    -backendLoc 半托管JindoFS集群的源数据块对应的OSS路径。
  • 使用示例

    将半托管JindoFS集群中某个目录jfs://mycluster/foo全量迁移到OSS-HDFS服务的bar目录中,OSS-HDFS服务所在的Bucket名称为examplebucket。

    jindo distjob -migrateImport -srcPath jfs://mycluster/foo -destPath oss://examplebucket/bar/

(可选)步骤二:增量迁移

  1. 生成ChangeLog。
    如果需要将半托管JindoFS集群增量迁移至OSS-HDFS服务,您需要通过Jindo工具将半托管JindoFS集群的AuditLog转换成对应目录的变更日志ChangeLog。
    • 命令格式
      jindo distjob -mkchangelog -auditLogDir <auditLogDir> -changeLogDir <changeLogDir> -startTime <startTime>

      参数说明如下:

      参数 说明
      -auditLogDir 半托管JindoFS集群的AuditLog所在路径。
      -changeLogDir 变更日志ChangeLog输出路径。
      -startTime 处理AuditLog的起始时间。
    • 使用示例

      半托管JindoFS集群中AuditLog的路径为oss://examplebucket/sysinfo/auditlog,待输出目录的变更日志存放在oss://examplebucket/sysinfo/changelog下,且只处理从2022年06月01日开始的AuditLog。

      jindo distjob -mkchangelog -auditLogDir oss://examplebucket/sysinfo/auditlog -changeLogDir oss://examplebucket/sysinfo/changelog -startTime 2022-06-01T12:00:00Z
  2. 单次增量迁移。
    半托管JindoFS集群产生的元数据的增量更新会通过对应的AuditLog转换为ChangeLog,然后迁移至OSS-HDFS服务。
    • 命令格式
      jindo distjob -migrateImport -srcPath <srcPath> -destPath <desPth> -changeLogDir <changeLogDir> -backendLoc <backendLoc> -update

      参数说明如下:

      参数 说明
      -srcPath 待迁移的半托管JindoFS集群的源路径。
      -destPath OSS-HDFS服务中存放半托管JindoFS集群的目标路径。
      -changeLogDir 变更日志ChangeLog输出路径。
      -backendLoc 半托管JindoFS集群的源数据块对应的OSS路径。
      -update 开启增量迁移模式。
    • 使用示例

      将半托管JindoFS集群中某个目录jfs://mycluster/foo增量迁移到OSS-HDFS服务的bar目录中,OSS-HDFS服务所在的Bucket名称为examplebucket,变更日志ChangeLog输出路径为oss://logbucket/logdir/

      jindo distjob -migrateImport -srcPath jfs://mycluster/foo -destPath oss://examplebucket/bar/ -changeLogDir oss://logbucket/logdir/ -backendLoc oss://examplebucket/jfsdataDir -update
  3. 可选:多次增量迁移。
    如果需要将半托管JindoFS集群中多次增量迁移到OSS-HDFS服务,您可以通过修改-startTime参数自定义处理Auditlog的起始时间,然后多次重复步骤1步骤2