Hadoop distcp到S3的性能非常慢

Hadoop distcp到S3的性能非常慢,hadoop,amazon-s3,distcp,Hadoop,Amazon S3,Distcp,我正在尝试使用hadoop distcp将数据从HDFS复制到amazons3。数据量为227GB,作业已运行超过12小时 S3存储桶的写入请求是否有3500个硬限制?这会导致经济放缓吗?有解决办法吗?或者通过其他方式提高性能 以下是我的命令: hadoop distcp -Dfs.s3a.aws.credentials.provider=org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider -Dfs.s3a.access.key=KE

我正在尝试使用hadoop distcp将数据从HDFS复制到amazons3。数据量为227GB,作业已运行超过12小时

S3存储桶的写入请求是否有3500个硬限制?这会导致经济放缓吗?有解决办法吗?或者通过其他方式提高性能

以下是我的命令:

hadoop distcp -Dfs.s3a.aws.credentials.provider=org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider -Dfs.s3a.access.key=KEY -Dfs.s3a.secret.key=SECRET -Dfs.s3a.session.token=TOKEN -Dfs.s3a.server-side-encryption-algorithm=SSE-KMS -Dfs.s3a.server-side-encryption-key=enc-key -Dmapreduce.job.queuename=default -Ddistcp.dynamic.split.ratio=4 -Ddistcp.dynamic.recordsPerChunk=25 -Ddistcp.dynamic.max.chunks.tolerable=20000 -strategy dynamic -i -numListstatusThreads 40 -m 300 -update -delete /data/prod/hdp/brm s3a://bucket/data/prod/hdp/brm
有很多小文件。文件的平均大小约为300KB。我不得不启动了两次作业,第一次失败了,许多制图员抛出了如下错误:

Caused by: org.apache.hadoop.fs.s3a.AWSS3IOException: getFileStatus on s3a://bucket/data/prod/hdp/brm/.distcp.tmp.attempt_1574118601834_3172_m_000000_0: com.amazonaws.services.s3.model.AmazonS3Exception: Bad Request (Service: Amazon S3; Status Code: 400; Error Code: 400 Bad Request;
然后我意识到有更多的前缀会有帮助,于是启动了一个新的作业,它更深了两个层次(
/data/prod/hdp/brm
/data/prod/hdp/brm/dataout/enabled
),因为
/data/prod/hdp/brm/dataout/enabled
有10个目录,我认为它们会增加写入请求。作业现在运行时没有任何问题,但性能非常差

任何帮助都将不胜感激。多谢各位