通过JindoDistCp从HDFS迁移到OSS-HDFS的文件,可以进行文件内容检验。本文为您介绍文件内容校验的操作步骤。

使用限制

仅JindoData 4.6.2及以上版本支持。

操作步骤

  1. 计算输出通过JindoDistCp迁移的目标目录和源目录的文件checksum,命令格式如下。
    jindo distjob -checksum --src <src> --dest <dest> --blockSize <blockSize> --recalculate
    其中参数说明如下:
    参数 描述 必填 默认值 说明
    --src <src> 待文件内容校验的路径。 src只能为OSS-HDFS或HDFS路径。
    --dest <dest> 输出checksum文件的目标路径。 无。
    --blockSize <blockSize> 源文件写入的blockSize。 134217728 单位为Byte。
    --recalculate 是否读取文件重新计算checksum。 默认不会重新计算,从OSS-HDFS读取写入时计算的checksum。 仅当--src参数值为OSS-HDFS时支持。
    1. 计算输出通过JindoDistCp迁移的目标目录的文件checksum。

      例如,OSS-HDFS的bucket名为dlsbucket,需要文件内容校验的目录为oss://dlsbucket/test,输出checksum文件到OSS目录 oss://ossbucket/test-dls,此时命令如下所示。
      jindo distjob -checksum --src oss://dlsbucket/test --dest oss://ossbucket/test-dls --recalculate
    2. 计算输出通过JindoDistCp迁移的源目录的文件checksum。
      例如,JindoDistCp的源目录为hdfs:///test,输出checksum文件到OSS目录oss://ossbucket/test-hdfs,此时命令如下所示。
      jindo distjob -checksum --src hdfs:///test --dest oss://ossbucket/test-hdfs
  2. 通过JindoDistCp --diff对比步骤1中的步骤a和b输出的文件checksum目录内容。示例如下:
    hadoop jar jindo-distcp-tool-${version}.jar --src oss://ossbucket/test-hdfs --dest oss://ossbucket/test-dls --diff