- 최신
- 최다 투표
- 가장 많은 댓글
【以下的回答经过翻译处理】 s3-dist-cp
使用Hadoop Map Reduce完成复制任务。在读写S3时,它会使用EMRFS来进行GET/PUT/LIST调用以访问S3。
因此,若要调整作业运行时的性能,有以下必要:
- 你需要了解Hadoop的工作原理以及它如何与YARN集成。
- 还可以调整文件系统(S3和HDFS)以提高读取、写入和列出性能。
必须进行基准测试以真正了解此集群大小需要1小时38分钟
的正常时间。
你可以使用YARN资源管理器UI和MR作业历史服务器日志来监视Mapreduce作业,以确定花费大量时间的位置。
- 是否有处于等待YARN分配资源挂起状态的容器(映射器或减速器)?Mapper/Reducers是否遇到内存问题?在这种情况下,你需要更大的集群或调整Map Reduce的内存设置。
- s3-dist-cp是否在运行映射器/减速器之前花费了太多时间来列出S3对象?增加s3-dist-cp客户端堆空间使其能够处理源S3存储桶上许多S3对象的列表。
export HADOOP_OPTS="-Xmx5000m -verbose:gc -XX:+UseMembar -XX:+PrintGCDetails -Xloggc:/tmp/gc.log"; s3-dist-cp --src s3://bucket/object/ --dest s3://dest-bucket/object/
要提高对S3的性能,可以使用“fs.s3.*”参数来更改EMRFS的行为。 一些可能需要调整的参数包括: fs.s3 要提高S3的性能,可以使用“fs.s3.*“参数来改变EMRFS行为。有些调优的参数可以考虑:fs.s3.maxConnections fs.s3.maxRetries。请注意,一些EMRFS参数可能不存在或没有公开记录。例如如何修改EMRFS的Listing行为等。
因此,您可以尝试在您的s3-dist-cp命令中使用s3a://前缀,这将调用s3a文件系统(这是开源Hadoop的一部分)而不是EMRFS,例如s3-dist-cp --src s3a://mybucket/data / --dest hdfs:///my_data --outputCodec=gz --targetSize=128 --groupBy='.(celery-task-meta).'
S3A文件系统参数在本文中有很好的文档和解释: https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/performance.html这允许额外调整文件系统相关参数,以加快您的作业。
此外,如果需要,可以考虑HDFS写性能调优,但是我们很少看到HDFS的性能问题。
관련 콘텐츠
- 질문됨 일 년 전
- AWS 공식업데이트됨 일 년 전
- AWS 공식업데이트됨 3년 전
- AWS 공식업데이트됨 2년 전