日期:2014-05-16  浏览次数:20462 次

快速了解Hadoop架构

Hadoop是一个能够对大量数据进行分布式处理的软件框架, Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。hadoop的集群是基于master/slave模式

?

运行在master上的:NameNode ? Secondary NameNode JobTracker

运行在slave上的:DataNode ?TaskTracker

?

1、NameNode是HDFS的守护程序,负责记录文件是如何分割成数据块的,以及这些数据块分别被存到那些数据节点上,只要功能是对内存及I/O进行集中管理(是个单点,发生故障将使集群崩溃)

?

2、DataNode这个后台程序负责把HDFS数据块读写到本地的文件系统,当客户端要读写某个数据时候,先由NameNode告诉客户端去哪个DataNode进行具体的读/写操作,然后客户端直接与这个DataNode服务器上的后台程序进行通讯,并且对相关的数据块进行读/写操作。

?

3、SecondaryNameNode:是一个用来监控HDFS状态的辅助后台程序,就像NameNode一样,每个集群都有一个Secondary NameNode,不接收或记录任何任何实时的数据变化,但是,他会与NameNode进行通信,以便定期的保存HDFS元数据的快照,如果Name发生问题,SecondaryNameNode可以及时的作为备用NameNode。

?

4、JobTracker:用来连接应用程序与Hadoop,用户代码提交到集群以后,由JobTracker决定那个文件将被处理,并且为不同的task分配节点,同时,他还监控所有运行的task一旦某个task失败了JobTacker就会自动重新开启task。每个集群只有唯一一个JobTracker,位于Master节点

?

5、TaskTracker:与负责存储的DataNode结合,JobTracker负责分配Tasker,管理各自节点上的task。每个节点只有一个TaskTracker,但一个TaskTracker可以启动多个JVM,用于并行执行map或reduce任务

?

本文接: