2016-12-26 14 views
-1

CDHのhdfsに関するデータがあり、Amazon S3バケットに移動したいので、CDHの代わりにAWS EMRでコードを実行できます。 どうすれば安全かつ高速に移動できますか?ClouderaからAmazon S3バケットへデータを移動

s3aコマンドまたは他の効率的な方法で実行できますか?

+0

「aws s3 cp」を使用して、任意のファイルをS3バケットにコピーできます。 –

+0

私はaws S3 cpを使ってみましたが、いつかコピーが止まった後に試しました。 –

+0

何らかの理由で転送が中断した場合は、代わりに 'aws s3 sync'を使うことができます。 –

答えて

0

私は、hdfs distcpを使ってS3からhdfsにデータをコピーします。また、その逆もサポートされますので、あなたの場合でもうまくいくはずです。 マップリダクションを内部的に使用しているため、並列処理が非常に高速です。このコマンドを日付の配列に対して実行するためのスクリプトを作成し、バックグラウンドモードでnohupを使用して実行しました。 コマンドの構文:

hadoop distcp -Dfs.s3n.awsAccessKeyId=$S3NKEYID -  Dfs.s3n.awsSecretAccessKey=$S3NKEY s3n://$COPYFROMENV/$TABLE_PATH/$TABLE/$PARTITION_PATH hdfs://$COPYTOENV/$TABLE_PATH/$TABLE/ 
+0

私はすでにこのコマンドを試しています。 エラーtools.distcp.Distcp:無効な拒否 java.net.connectException:接続が拒否されました。 これを回避するには? –

+0

これは通常、コマンドを実行しているデータノードがS3にアクセスできない場合に発生します。このコマンドを実行しているノードからs3にアクセスできることを確認する必要があります。 – Pushkin

関連する問題