同様の質問がありましたが、私の質問に答えられません:hadoop distcpまたはs3-dist-cpを使用してHadoopとS3の間でファイルを移動する際に、Amazon S3からhadoopにファイルをコピー
私は新しいAmazon EMRクラスターを作成しましたが、今はS3バケットからファイルをコピーしたいと思います。次のアプローチは機能しません:hadoop distcp s3n://<awsaccesskey>:<awssecrectkey>@<backetname>/path hdfs://<path>
が、ソフトウェアがある、AWSに+
または/
を含む秘密鍵を扱うことができないように思える:
- は、私はそのようなURL内の資格情報をエンコード
hadoop distcp
を使用して非常によくあるケースです。以下のような別のエラーには動作しませんURLエンコードを使用して、キーが、利回りをコード:
java.lang.IllegalArgumentExceptionが:バケット名をIPアドレスとしてフォーマットされてはならない
または
を含むべきではありませんjava.lang.IllegalArgumentExceptionが:バケット名は大文字
- s3-dist-cpを使用 私は「良い」アプローチを採用しましたが、同じ結果が得られました。
資格情報をエンコードする方法と、特殊な文字が含まれている場合にそれらを格納する方法はありますか? ENV変数(例:AWS_ACCESS_KEY_IDとAWS_SECRET_ACCESS_KEY)も成功しませんでした。チュートリアルにはcore-site.xml
というファイルがありますが、場所はありません。だから私はそれを探して、複数の一致があります。チュートリアルでは、このファイルをすべてのノードにコピーする必要があると言いますが、その理由は何ですか?
はい、成功しません。 – NaN