hadoop2.0 做spider下载集群的设置
2015-06-27 22:41
239 查看
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个数。
然后注意,mapper运行spider,reducer其实是不需要的,因此,设置-numReduceTasks 0或者-reducer NONE则没有reducer程序,mapper的输出直接作为整个作业的输出。
其他至于mapreduce的内存大小啥的,好像都没用,还有堆栈大小啥的,一般设置大一点就行。具体其他设置如下图所示:
因此需要对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个数。
然后注意,mapper运行spider,reducer其实是不需要的,因此,设置-numReduceTasks 0或者-reducer NONE则没有reducer程序,mapper的输出直接作为整个作业的输出。
其他至于mapreduce的内存大小啥的,好像都没用,还有堆栈大小啥的,一般设置大一点就行。具体其他设置如下图所示:
相关文章推荐
- openCV基本数据类型
- shell排序算法
- CentOS7安装iptables防火墙
- 深入浅出AOP(一)
- Centos6.6 安装基于系统认证的vsftp服务
- A Simple OpenGL Shader Example
- Shell脚本递归打印指定目录中所有目录文件
- 如何通过外网访问自己的tomcat
- 图像扩展函数cvCopyMakeBorder的使用
- A Simple OpenGL Shader Example
- 在 Docker 上运行一个 RESTful 风格的微服务
- 使用hadoop统计多个文本中每个单词数目
- Linux下Mysql常见连接错误
- Linux Shell脚本之自动修改IP
- linux vi编辑常用命令
- shell编程项目【邮件报警系统】
- Windows API OpenURL无法设置超时时间替换方法
- Linux远程连接putty出现Network Erroe: Software caused connection abort
- Euclid's GCD Algorithm——MIT Open Courseware(Computability)
- linux命令