aws emr s3 dist cp copyfilesreducer.cleanup上的mapreduce作业失败

k97glaaz  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(351)

学习aws emr集群版本emr-5.31.0
试图将文件从s3复制到hdfs,我在主节点上发出了一个命令: s3-dist-cp --src=s3://bigdata-/emrdata/orders.tbl.gz --dest=hdfs:/emrdata/orders.tbl.gz 它实际执行一系列map/reduce作业,其中一个reduce作业失败:

20/10/20 17:46:29 INFO mapreduce.Job:  map 100% reduce 50%
20/10/20 17:46:31 INFO mapreduce.Job: Task Id : attempt_1603203512239_0014_r_000005_0, Status : FAILED
Error: java.lang.RuntimeException: Reducer task failed to copy 1 files: s3://bigdata-xxxxxxxxx/emrdata/orders.tbl.gz etc
        at com.amazon.elasticmapreduce.s3distcp.CopyFilesReducer.cleanup(CopyFilesReducer.java:67)
        at org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:179)
        at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:635)
        at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:390)
        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:177)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1893)
        at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:171)

我有一个完整的cli输出和任务syslog,如果它有帮助的话。
文件相对较小(400mb)
我正在学习aws emr环境,所以我可能遗漏了一些被认为是理所当然的东西。
群集信息:

Applications:Hive 2.3.7, Pig 0.17.0, Hue 4.7.1, Spark 2.4.6, Tez 0.9.2, Flink 1.11.0, ZooKeeper 3.4.14, Oozie 5.2.0

EC2 instance profile:EMR_EC2_DefaultRole
EMR role:EMR_DefaultRole
Auto Scaling role:EMR_AutoScaling_DefaultRole

我无法确定问题的根本原因,也无法确定该怎么办。

lstz6jyr

lstz6jyr1#

我成功了。使用s3distcp的正确方法是使用bucket和 srcPattern 参数。

s3-dist-cp --src=s3://bigdata-xxxxxxxxx/emrdata/ --dest=hdfs:///emrdata/ --srcPattern='orders\.tbl\.gz'

相关问题