本文為您匯總了使用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。
文檔內容是否對您有幫助?