オブジェクトの列挙に時間がかかるのはなぜですか?
Jindo DistCp クライアントのヒープメモリが不足すると、列挙結果を効率的にバッファーできなくなり、オブジェクトの列挙が著しく遅くなります。通常の状況では、OSS は 1 秒あたり 1,000 個のオブジェクトを列挙します。以下のログ行のように、315 個のオブジェクトの列挙に約 100 秒かかっている場合、クライアントはヒープメモリ不足です。
Successfully list objects with prefix xxx/yyy/ in bucket xxx recursive 0 result 315 dur 100036.615031MS
ジョブを実行する前に、JVM ヒープサイズを増やしてください。
export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Xmx4096m"
「Failed to get checksum store」というエラーが発生するのはなぜですか?
OSS-HDFS は、デフォルトのチェックサムアルゴリズムとして COMPOSITE_CRC を使用します。ご利用の HDFS クラスターで dfs.checksum.combine.mode が MD5MD5CRC に設定されている場合、OSS-HDFS はこの違いを調整できず、ジョブはこのエラーで失敗します。
ご利用の HDFS 構成に合わせて fs.oss.checksum.combine.mode を設定してください。
hadoop jar jindo-distcp-${version}.jar --src /data --dest oss://destBucket/ --hadoopConf fs.oss.checksum.combine.mode=MD5MD5CRC
OSS から OSS-HDFS にコピーする際に「verify checksum failed」というエラーが発生するのはなぜですか?
Jindo DistCp は、元の転送中に書き込まれたチェックサムを使用してデータ整合性を検証します。OSS 内のオブジェクトが Jindo DistCp を使用して HDFS から OSS に移行されていない場合、一致するチェックサムレコードが存在せず、検証が失敗します。
これらのオブジェクトのチェックサム検証をスキップするには、--disableChecksum を追加してください。
hadoop jar jindo-distcp-${version}.jar --src oss://ossBucket/ --dest oss://dlsBucket/ --disableChecksum
Jindo DistCp ジョブが正常に完了したことを確認するにはどうすればよいですか?
回答は、--ignore を使用したかどうかによって異なります。
--ignore なしの場合: Jindo DistCp は、エラーが発生するとすぐに停止し、コピー操作を中止します。
--ignore ありの場合: 個々のファイルのエラーに関係なく、ジョブは完了まで実行されます。実行後にジョブカウンターを確認し、COPY_FAILED と CHECKSUM_DIFF の両方がゼロであることを確認してください。いずれかのカウンターがゼロ以外の場合、一部のファイルが正しく転送されませんでした。カウンターとその意味の完全なリストについては、「Jindo DistCp の使用」トピックの「Jindo DistCp カウンター」をご参照ください。