2016-04-10 22 views
1

同様の質問がありましたが、私の質問に答えられません:hadoop distcpまたはs3-dist-cpを使用してHadoopとS3の間でファイルを移動する際に、Amazon S3からhadoopにファイルをコピー

私は新しいAmazon EMRクラスターを作成しましたが、今はS3バケットからファイルをコピーしたいと思います。次のアプローチは機能しません:hadoop distcp s3n://<awsaccesskey>:<awssecrectkey>@<backetname>/path hdfs://<path>が、ソフトウェアがある、AWSに+または/を含む秘密鍵を扱うことができないように思える:

  1. は、私はそのようなURL内の資格情報をエンコードhadoop distcp を使用して非常によくあるケースです。以下のような別のエラーには動作しませんURLエンコードを使用して、キーが、利回りをコード:

java.lang.IllegalArgumentExceptionが:バケット名をIPアドレスとしてフォーマットされてはならない

または

java.lang.IllegalArgumentExceptionが:バケット名は大文字

を含むべきではありません
  1. s3-dist-cpを使用 私は「良い」アプローチを採用しましたが、同じ結果が得られました。

資格情報をエンコードする方法と、特殊な文字が含まれている場合にそれらを格納する方法はありますか? ENV変数(例:AWS_ACCESS_KEY_IDとAWS_SECRET_ACCESS_KEY)も成功しませんでした。チュートリアルにはcore-site.xmlというファイルがありますが、場所はありません。だから私はそれを探して、複数の一致があります。チュートリアルでは、このファイルをすべてのノードにコピーする必要があると言いますが、その理由は何ですか?

答えて

0

URLを特殊文字でエンコードしようとしましたか?

+0

はい、成功しません。 – NaN

関連する問題