上QQ阅读APP看书,第一时间看更新
1.1.1 Hadoop 1.0
在Hadoop 1.0时代(包括Hadoop 0.x 和Hadoop 1.x),Hadoop由两部分组成,一部分是作为分布式文件系统的HDFS,另一部分是作为分布式计算引擎的MapReduce。
HDFS在Hadoop 1.0时代的架构和在后两个时代的基础架构没什么区别,都是采用主/从架构,其中NameNode为主节点,DataNode为从节点。Hadoop的研发团队在研发初期就意识到了NameNode的重要性,故将其部分功能拆离出来作为Secondary NameNode。Secondary NameNode作为NameNode的一个冷备节点,定期将NameNode的操作日志合并成集群的状态快照,这样在NameNode重启时可以加快启动速度。HDFS的整体架构如图1-1所示。
图1-1 HDFS的整体架构
MapReduce在Hadoop 1.0时代的架构与在后两个时代的架构相比,变化有点大。后两个时代的架构主要对之前架构的功能进行解耦,并且对一些功能进行提炼,使其更加通用。在Hadoop 1.0时代,MapReduce也是采用主/从架构:其中主节点是JobTracker,负责集群资源的管理、任务调度以及跟踪任务的状态;从节点是TaskTracker,负责任务的执行与周期性地汇报本节点的资源使用情况和任务进度。其整体架构如图1-2所示。
图1-2 MapReduce的整体架构
由上述描述可知,MapReduce在Hadoop 1.0中除了是一个计算引擎,还是一个资源管理平台。它可管理的资源包括内存和CPU,这些资源被抽象为一个slot。而slot又被细分为map slot和reduce slot,它们分别为Map任务和Reduce任务提供计算资源。