全部产品
Search
文档中心

开源大数据平台E-MapReduce:JindoDistCp常见问题

更新时间:May 11, 2023

本文为您汇总了使用JindoDistCp时的常见问题。

list性能低

  • 问题说明

    如果您在使用JindoDistCp的过程中,发现list性能较慢,且遇到如下信息:

    Successfully list objects with prefix xxx/yyy/ in bucket xxx recursive 0 result 315 dur 100036.615031MS

    其中dur 100036.615031MS代表此次list耗时,单位为毫秒。OSS上文件正常的list速度是1000个文件耗时1秒,您可以根据当前目录下文件的数量来判断该list耗时是否异常。例如,上述信息显示list 315个文件的目录需要100秒,显然是不正常的。

  • 解决方案

    执行以下命令,增加客户端内存。

    export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Xmx4096m"

Checksum报错

  • 问题说明

    在使用JindoDistCp的过程中报错,报错信息如下。

    Failed to get checksum store.
  • 解决方案

    OSS-HDFS默认的Checksum算法是COMPOSITE_CRC,如果HDFS配置参数dfs.checksum.combine.mode为MD5MD5CRC,则需要变更OSS-HDFS的fs.oss.checksum.combine.mode配置为MD5MD5CRC。代码示例如下。

    hadoop jar jindo-distcp-${version}.jar --src /data --dest oss://destBucket/ --hadoopConf fs.oss.checksum.combine.mode=MD5MD5CRC

拷贝OSS文件到OSS-HDFS时报错

  • 问题说明

    使用JindoDistCp拷贝OSS文件到OSS-HDFS时报错,报错信息如下。

    Exception raised while copying data file, verify checksum failed
  • 解决方案

    如果OSS中的文件不是通过JindoDistCp从HDFS迁移到OSS的,则需要通过参数--disableChecksum跳过Checksum检查。代码示例如下。

    hadoop jar jindo-distcp-${version}.jar --src oss://ossBucket/ --dest oss://dlsBucket/ --disableChecksum

如何查看JindoDistCp是否执行成功?

如果执行JindoDistCp时没有添加--ignore参数,则执行过程中有问题会报错退出。如果添加了--ignore参数,则可以查看JindoDistCp Counters信息以确认数据完整性。例如COPY_FAILED、CHECKSUM_DIFF等,详情请参见JindoDistCp Counters