我正在使用ec2 hadoop集群,该集群由20台c3.8xlarge机器组成,每台机器具有60 GB RAM和32个虚拟CPU。 在每台机器中,我都按照https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hadoop-task-config.html中所述设置纱线和mapreduce设置,即如下所示:
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一起使用的工人数量,我必须使用什么标准?即-w参数必须使用什么数字?该标准与上述设置有关吗?
答案 0 :(得分:0)
没有最佳数字,但是可以大致计算出最多并行工作的对象。
每个NodeManager都有53248 MB,再乘以您的从节点数
仅从中减去一个am.resource.mb
,因为所有作业都需要一个应用程序母版。
然后将其除以您的映射器或化简器内存中较大的一个,得出可以一次运行的MapReduce任务的总数