本文介绍如何将半托管JindoFS集群迁移到OSS-HDFS服务。
前提条件
半托管JindoFS集群对应的OSS Bucket已开通OSS-HDFS服务。
半托管JindoFS集群已开启AuditLog。
使用最新版本JindoSDK。下载地址,请参见GitHub。
步骤一:全量迁移
全量迁移模式负责将半托管JindoFS集群中的某个目录中的元数据一次性全量迁移OSS-HDFS服务中的某个目录。目前仅支持迁移到OSS-HDFS服务中的一级子目录。
命令格式
jindo distjob -migrateImport -srcPath <srcPath> -destPath <destPath> -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/
(可选)步骤二:增量迁移
生成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
单次增量迁移。
半托管JindoFS集群产生的元数据的增量更新会通过对应的AuditLog转换为ChangeLog,然后迁移至OSS-HDFS服务。
命令格式
jindo distjob -migrateImport -srcPath <srcPath> -destPath <destPath> -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
可选:多次增量迁移。