为什么Hadoop集群中机器台数多反而执行速度慢?
2018-01-18 00:13
246 查看
这里我对这个现象给出解释。由于水平有限,发现错误,请及时留言,或站内和我联系。
这里假设集群中有slave1,slave2,slave3三个节点,其中slave3工作效率低。一共有6个任务,需要去做,slave1和slave2执行一个任务是1分钟,slave3执行一个任务是2分钟。有一个前提是每个slave完成自身的任务才回去推测执行。如果让slave1和slave2去做,则需要3分钟,分析如下:slave1 slave23 33*1 3*1并行执行总时间就是单个slave的执行时间3;那么三台同时去做需要4分钟。slave1 slave2 slave32 2 2这里slave1和slave2都完成了自身的任务,已经花费了2分钟,剩下最后一个任务考虑到数据的本地性也分给了slave3,slave3执行时间超过一分钟时,jobtracker会觉得slave3可能没有能力完成分配给他的任务,假设在slave1上推测执行,结果slave3结束了,就将运行在slave1上的推测执行任务kill掉,最后执行时间是4秒。因为在推测执行的时候会两个推测执行的任务会同时完成。原文地址:http://blog.csdn.net/sun_168/article/details/8302968
这里假设集群中有slave1,slave2,slave3三个节点,其中slave3工作效率低。一共有6个任务,需要去做,slave1和slave2执行一个任务是1分钟,slave3执行一个任务是2分钟。有一个前提是每个slave完成自身的任务才回去推测执行。如果让slave1和slave2去做,则需要3分钟,分析如下:slave1 slave23 33*1 3*1并行执行总时间就是单个slave的执行时间3;那么三台同时去做需要4分钟。slave1 slave2 slave32 2 2这里slave1和slave2都完成了自身的任务,已经花费了2分钟,剩下最后一个任务考虑到数据的本地性也分给了slave3,slave3执行时间超过一分钟时,jobtracker会觉得slave3可能没有能力完成分配给他的任务,假设在slave1上推测执行,结果slave3结束了,就将运行在slave1上的推测执行任务kill掉,最后执行时间是4秒。因为在推测执行的时候会两个推测执行的任务会同时完成。原文地址:http://blog.csdn.net/sun_168/article/details/8302968
相关文章推荐
- 为什么Hadoop集群中机器台数多反而执行速度慢?
- 为什么Hadoop集群中机器台数多反而执行速度慢?
- 关于为什么机器语言执行速度比高级语言快
- (五)hadoop系列之__集群搭建SSH无密访问多台机器
- Hadoop集群(第2期)_机器信息分布表
- 三台机器搭建Hadoop集群
- hadoop中的一次集群任务执行超时问题查找过程
- 使用Zookeeper实现集群中选择单机器执行任务并自动切换
- Hadoop初级入门 MapReduce程序执行集群执行(续)
- hadoop集群完全分布式模式,为什么打开localhost:50070的时候 看到的livenode只有1个(本机)
- (五)hadoop系列之__集群搭建SSH无密访问多台机器
- 谁能帮我解决下为什么代码执行速度特别慢?是代码哪里写错了吗???
- Hadoop源码解析-作业执行流程-集群模式
- 细细品味Hadoop_Hadoop集群(第2期)_机器信息分布表
- Linux 搭建Hadoop集群执行命令start-dfs.sh报错 permission denied
- 为什么每次重启机器后,namenode都启动不了,需要先hadoop namenode -format
- Hadoop学习4_CentOS6.5系统下Hadoop2.6.0集群增加机器详细操作
- CentOS系统下的Hadoop集群(第2期)_机器信息分布表
- HADOOP实践101:在Hadoop集群中添加机器和删除机器
- Hadoop集群(第2期)_机器信息分布表