本文介紹如何將半託管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
可選:多次增量遷移。