Hadoop系统架构
基本组成架构包括分布式存储和并行计算两部分。
1)分布式存储框架(分布式文件系统HDFS)
Hadoop使用NameNode作为分布式存储的主控节点,用以存储和管理分布式文件系统的元数据,同时使用DataNode作为实际存储大规模数据从节点。
2)并行计算框架(MapReduce)
Hadoop使用JobTracker作为MapReduce框架的主控节点,用来管理和调度作业的执行,用TaskTracker管理每个计算从节点上任务的执行。
为了实现Hadoop设计的本地化计算,数据节点DataNode和计算节点TaskTracker将放在同个节点,每个从节点也是同时运行DataNode和TaskTracker,从而让每个TaskTracker尽量处理存储在本地DataNode上的数据。
数据主控节点NameNode与作业执行节点JobTracker即可以设置在同一个节点上,也可以考虑负载较高时,而设置在两个节点上。
MapReduce的完整编程模型和框架
MapReduce程序执行过程
包含如下4个独立的实体:
1)客户端,用来提交MapReduce作业。
2)jobtracker,用来协调作业的运行。
3)tasktracker,用来处理作业划分后的任务。
4)HDFS,用来在其它实体间共享作业文件。