Hadoop模块构造

2013-08-29
  • 733
  • 0

Hadoop是目前非常流行的用于构造分布式计算的框架。在很多大公司都采用Hadoop框架来搭建分布式计算平台,而且这个平台是运行在成百上千台PC机上。Hadoop是如何让这成百上千台PC机能够很好的协调工作?本文探讨的是Hadoop的模块构造,以及这些模块如何协同工作的。

Hadoop的模块分别是NameNode(名字节点)、DataNode(数据节点)、Secondary NameNode(次名字节点)、JobTracker(作业跟踪节点)和TaskTracker(任务跟踪节点)。下面我们来逐一讨论这些节点在Hadoop中的作用。

NameNode

NameNodeHadoop的守护进程之一,而且是最重要的守护进程。他负责调度DataNode执行底层I/O.

DataNode

Hadoop汲取上的每一个节点都会有一个DataNode,来执行文件I/O操作。每个DataNode只存储HDFS的一部分。DataNode之间的数据是冗余存储的。因为DataNode是很容易崩溃的。冗余存储的好处是,当一个DataNode崩溃了,我们仍然可以从其他DataNode中读取数据。

Secondary NameNode

Secondary NameNode同样也是Hadoop的一个守护进程。他会在NameNode崩溃之后自动接管NameNode的工作。

JobTracker

JobTracker是链接应用程序和Hadoop的中间件。JobTracker负责确定执行计划,决定哪些文件被处理、为任务分配节点以及监控任务运行。

TaskTracker

TaskTracker负责执行JobTracker分配的单项任务,每个TaskTracker可以生成多个JVM,并且可以处理多个mapreduce任务。