hadoop2.0 做spider下载集群的设置,hadoop2.0spider


     hadoop一般设置中,一个map或者reduce用到的内存一般设置是1G内存,但作为下载来用,显然是浪费的,一个下载代码用到的内存顶多几十M,而且因为主要耗时是在网络,因此一个cpu可以做几十个下载进程都没啥问题。hadoop一般一个cpu就只跑一个map/reduce.

    因此需要对hadoop的设置进行优化,否则就太浪费了。 最核心的设置如下,这里用的是阿里云的云服务器,4G内存,1个cpu作为任务节点。 1 内存 yarn.nodemanager.resource.memory-mb,所有容器内存:2.4G yarn.scheduler.minimum-allocation-mb,单个容器最小内存:200M mapreduce.task.io.sort.mb,jvm缓存占用内存数量,这个一定要注意,默认的是256M,显然过大了,这里设置为:50M
2 cpu yarn.nodemanager.resource.cpu-vcores,一个cpu虚拟核数: 32 yarn.scheduler.minimum-allocation-vcores,一个container的最小的的虚拟cpu个数:1
这里container可以容纳一个map或者reduce。因为cpu可以随便虚拟个数,因此,主要是内存限制。一个机器可以给所有容器的最大内存 除以 每个container的最小内存 就是一个机器能够容纳的container个数。
其他至于mapreduce的内存大小啥的,好像都没用,还有堆栈大小啥的,一般设置大一点就行。具体其他设置如下图所示:

相关内容