全部產品
Search
文件中心

E-MapReduce:JindoDistCp常見問題

更新時間:Jul 01, 2024

本文為您匯總了使用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