我使用的是一个ec2hadoop集群,它由20台c3.8x大型计算机组成,每台计算机都有60gbram和32个虚拟cpu。在每台机器中,我都设置了Yarn和mapreduce设置,如本文所述https://docs.aws.amazon.com/emr/latest/releaseguide/emr-hadoop-task-config.html,即如下所示:
c3.8xlarge
Configuration Option Default Value
mapreduce.map.java.opts -Xmx1331m
mapreduce.reduce.java.opts -Xmx2662m
mapreduce.map.memory.mb 1664
mapreduce.reduce.memory.mb 3328
yarn.app.mapreduce.am.resource.mb 3328
yarn.scheduler.minimum-allocation-mb 32
yarn.scheduler.maximum-allocation-mb 53248
yarn.nodemanager.resource.memory-mb 53248
现在我必须使用什么标准来确定giraph最合适的工人数量?i、 我必须用什么数字作为-w参数?这与上述设置有关吗?
1条答案
按热度按时间1qczuiv01#
没有最佳的数量,但是你能拥有的最并行的worker可以这样粗略地计算。
每个nodemanager有53248 mb,乘以从属节点数
只减去一个
am.resource.mb
因为所有的作业都需要一个主应用程序。然后将其除以mapper或reducer内存中较大的一个,得到一次可以运行的mapreduce任务总数