2016-12-26 181 views
-1

我有關於CDH hdfs的數據,我想將其移至Amazon S3存儲桶,以便我可以在AWS EMR而不是CDH上運行代碼。 如何安全快速地移動它?將數據從Cloudera移動到Amazon S3存儲桶

我可以用s3a命令或其他有效的方法來做到嗎?

+0

您可以使用AWS'S3 cp'任何文件複製到一個S3桶。 –

+0

我試過使用aws S3 cp,但是在某些時候複製停止了。 –

+0

如果由於某種原因傳輸中斷,您可以始終使用'aws s3 sync'代替。 –

回答

0

我使用hdfs distcp將數據從S3複製到hdfs。它也支持反之亦然,所以應該在你的情況下工作。 由於它在內部使用map reduce,並行處理速度非常快。我爲一個日期數組創建了一個用於運行此命令的腳本,然後在後臺模式下使用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

當您運行命令的datanode無法訪問S3時,通常會發生這種情況。您需要確保可以從運行此命令的節點訪問s3。 – Pushkin

相關問題