首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用distp和s3a方案将文件从HDFS复制到Amazon s3a

使用distp和s3a方案将文件从HDFS复制到Amazon s3a
EN

Stack Overflow用户
提问于 2016-05-05 15:45:27
回答 2查看 5K关注 0票数 0

使用ApacheHadoop2.7.2版本,并尝试使用以下命令将文件从HDFS复制到Amazon。

代码语言:javascript
复制
hadoop distcp  hdfs://<<namenode_host>>:9000/user/ubuntu/input/flightdata  s3a://<<bucketid>>

使用上面的命令获取异常下面。

代码语言:javascript
复制
java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: s3a://<<bucketid>>.distcp.tmp.attempt_1462460298670_0004_m_000001_0

非常感谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-05 16:54:54

应该可以从HDFS转到S3 --在使用以下语法之前,我已经这样做了,在HDFS集群中运行它:

distcp -Dfs.s3a.access.key=.-Dfs.s3a.secret.key=./user/流浪者/bigdata s3a://mytestbucket/bigdata

如果你这样运行你的命令,它能工作吗:

hadoop hdfs://namenode_host:9000/user/ubuntu/input/flightdata s3a://bucketid/flightdata

从异常情况看,它似乎期待一个“文件夹”将数据放入其中,而不是存储桶的根。

票数 0
EN

Stack Overflow用户

发布于 2019-02-26 01:00:11

您需要提供AWS凭据,以便成功地将文件传输到HDFS和S3。

您可以传递上面所示的access_key_id和秘密参数,但是您应该在生产中使用凭证提供者 api,在这里您可以管理您的凭据,而不必在单独的命令中传递它们。

参考文献:https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/CredentialProviderAPI.html

其次,您不需要指定"hdfs“协议。绝对hdfs路径就足够了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37054773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档