Hadoop(一)守护进程

NameNode位于HDFS的主端,指导从端的DataNode执行底层的IO任务,它跟踪文件如何被分割成文件块,而这些文件块又被哪些节点存储,以及分布式文件系统的整体运行状态是否正常。
运行NameNode会消耗大量的内存和IO资源,因此驻留NameNode的服务器不会存储数据或者执行计算任务,容易造成Hadoop集群的单点失效问题 。
DataNode每一个集群的从节点都会驻留一个DataNode守护进程,用于将HDFS数据块读取或写入到本地文件系统的实际文件中。对HDFS文件进行读写时,文件被分割为多个块,NameNode告知客户端每个数据块驻留在哪个DataNode,客户端直接与DataNode通信,来处理数据。DataNode会与其他DataNode进行通信,复制数据块实现冗余。
NameNode与DataNode
NameNode跟踪文件的元数据,描述系统中所包含的文件以及每个文件如何被分割成数据块。
DataNode提供数据块的备份存储,并持续不断的向NameNode发送报告,以保持元数据的最新状态。
SecondaryNameNode用于监测HDFS集群状态的辅助守护进程。它不接收或记录HDFS的任何实时变化,它与NameNode通信,根据集群所配置的时间间隔获取HDFS元数据的快照。
JobTracker应用程序和Hadoop之间的纽带,一旦提交代码到集群,JobTracker就会确定执行计划,包括处理哪些文件、为不同的任务分配节点以及监控所有任务的运行,如果有任务失败,JobTracker会自动重启任务,但分配的节点可能会不同,同受到预定义的重试次数限制。
JobTracker与TaskTracker
JobTracker作为主节点,监测MapReduce作业的整个执行过程,TaskTracker管理各个任务在每个从节点上的执行情况。
TaskTracker负责执行JobTracker分配的单项任务,每个从节点只有一个TaskTracker,但每个TaskTracker可以生成多个JVM并行处理许多map或reduce任务。TaskTracker还负责持续不断的与JobTracker通信,JobTracker接收TaskTracker的心跳来判断任务的执行情况。

你可能感兴趣的:(Hadoop)