阿里云 OSS-HDFS 服务(JindoFS 服务)文件内容校验§

(从 4.6.2 开始支持)

通过 JindoDistCp 从 HDFS 迁移到 OSS-HDFS 的文件,可以通过以下方式校验文件内容。

步骤1.§

计算输出通过 JindoDistCp 迁移的目标目录的文件 checksum。

命令格式§

jindo distjob -checksum --src <src> --dest <dest> --blockSize <blockSize> --recalculate

参数说明:

--src <src>:待文件内容校验的 OSS-HDFS 的路径(必填)。注:src 只能为 OSS-HDFS 或 HDFS 路径。

--dest <dest>:输出 checksum 文件的目标路径(必填)。

--blockSize <blockSize>:源文件写入的 blockSize(可选),默认为 134217728。

--recalculate:是否读取文件重新计算 checksum(可选),默认不会重新计算,从 OSS-HDFS 读取写入时计算的 checksum。注:该参数只支持 --src 为 OSS-HDFS。

示例§

假设在 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

步骤3.§

通过 JindoDistCp --diff 对比步骤1和步骤2输出的文件 checksum 目录

示例§

hadoop jar jindo-distcp-tool-${version}.jar --src oss://ossbucket/test-hdfs --dest oss://ossbucket/test-dls --diff