使用Apache Hadoop版本2.7.2,并尝试使用以下命令将文件从HDFS复制到Amazon S3。
hadoop distcp hdfs://<<namenode_host>>:9000/user/ubuntu/input/flightdata s3a://<<bucketid>>
使用上述命令获取以下异常。
java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: s3a://<<bucketid>>.distcp.tmp.attempt_1462460298670_0004_m_000001_0
非常感谢您的帮助。
最佳答案
从HDFS到S3应该是可能的-在使用如下语法从HDFS集群运行它之前,我已经完成了它:
distcp -Dfs.s3a.access.key = ... -Dfs.s3a.secret.key = ... / user / vagrant / bigdata s3a:// mytestbucket / bigdata
如果您像这样运行命令,它会起作用:
hadoop distcp hdfs:// namenode_host:9000 / user / ubuntu / input / flightdata s3a:// bucketid / flightdata
从异常(exception)来看,它看起来像是在期待一个“文件夹”来放入数据,而不是存储桶的根。