在研究了一段hadoop后,对hadoop的分布式架构有了一定的了解,都知道移动计算比移动数据效率更高,那么hadoop是如何将计算移动到各个节点上进行计算的呢?我猜想是将计算的逻辑和其依赖的包都分发到了各个节点上,然后再在各自的节点上进行计算,不知道是不是这样,希望大家能把细节补充的更完善。
4条回答 默认 最新
- flyfoxs 2014-08-12 14:21关注
Hadoop 的NameNode 知道集群的计算资源分布,数据存储分布.
在分布任务的时候,需要对数据进行切分,然后进行计算. 这个时候分配就需要考虑数据的存储位置.
Hadoop会尽量将计算分布到数据存储的节点上.
如果存储的节点没用资源,比如CPU完全被占用.那会尽量将计算分布到数据存贮节点相同机架上的节点进行计算.
最后如果还是没办法做到,那就只能随机的选取一个节点了.本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1