Hadoop的构造模块

时间:2021-04-16 22:22:33

Hadoop集群中运行的守护进程共有5类:

  • NameNode
  • DataNode
  • Secondary NameNode
  • JobTracker
  • TaskTracker

Hadoop集群中的机器(节点)分为2类:主节点和从节点,NameNode、JobTracker所在节点为主节点(负责管理),DataNode和TaskTracker所在节点为从节点(负责干活儿)。

NameNode

NameNode节点负责将一个文件分成若干文件块,并记录了HDFS文件系统中的文件块放了在哪些DataNode中(一个数据块被冗余地放到1个或多个DataNode节点中),一个集群中只有一个NameNode节点(Hadoop2.X中情况有所不同了),且该节点通常不再运行DataNode和TaskTracker守护进程。

DataNode

DataNode实际管理很多NameNode分配给它的很多数据块,当有文件块变动时会通知NameNode,同时也从NameNode接受指令。一个集群中有多个DataNode节点,DataNode之间也会保持联系,复制冗余文件块,这样当一个DataNode出现故障后不会影响到文件的完整性。

Secondary NameNode

SNN只与NameNode通信,定时获取HDFS元数据的快照,一个集群只有一个SNN,且SNN所在节点只运行SNN守护进程,不干其它的事情。当NameNode出现故障后,可以人工启用SNN作为NameNode。

JobTracker

JobTracker负责分配MapReduce任务给TaskTracker,负责监控任务的执行,如任务失败后重启任务。JobTracker守护进程运行在主节点上,通常该节点不运行DataNode和TaskTracker守护进程。

TaskTracker

TaskTracker负责完成JobTracker分配的任务并和JobTranker进行通信,回报情况。TaskTracker守护进程运行在多个子节点上