Hadoop学习篇 2 初识 Hadoop

在一个全配置的集群上,运行Hadoop意味着在网络分布的不一样服务器上运行一组守护进程 (daemons),这些守护进程或运行在单个服务器上,或运行与多个服务器上,他们包括:
node

(1) NameNode(名字节点)服务器

(2) DataNode(数据节点)网络

(3) Secondary NameNode (次名节点) 分布式

(4) JobTracker  (做业跟踪节点)oop

(5) TaskTracker (任务跟踪节点)spa

NameNodeblog

被认为是Hadoop守护进程中最重要的一个,能够说,NameNode就是一个大脑。进程

运行NameNode会消耗掉大量的内存和I/O资源,所以,为了减轻机器的负载,驻留NameNode的服务器通常不会负责MapReduce的计算、存储用户数据。这也意味着,NameNode不会和JobTracker\TashTracker存在于同一台服务器上。一旦NameNode服务器出现宕机,形成的影响通常会比较严重。内存

DataNode资源

 

每一个集群的从节点上都会驻留一个DataNode的守护进程,来执行分布式文件系统的繁重工做——将HDFS数据快读取或写入到本地文件系统的实际文件中。当但愿对HDFS文件进行读写时,文件被分割为多个块,有NameNode告知客户端每一个数据块驻留在那个DataNode。客户端直接与DataNode守护进程进行通讯,来处理与数据块对相对应的本地文件。DataNode与DataNode节点直接也能够直接进行通讯,用于完成数据的复制。

上图解释了NameNode和DataNode节点的做用,NameNode指明了数据存放的名称和位置,分别为/user/chuck/data1 下的一、二、3文件和存储在 /user/james/data2下的

四、5文件。四个DataNode实现了一、二、三、四、5文件的复制。确保了任何一个DataNode节点失败后任然能够正常工做。DataNode会不断的向NameNode节点报告,将当前节点存储的数据块告知NameNode,为之提供本地修改的相关信息,同时接受指令的建立、移动或删除本地磁盘上的数据块。

 

Secondary NameNode

 

JobTracker

jobtracker守护进程是Hadoop和应用程序之间的纽带,一旦代码提交到集群上,JobTracker就会执行肯定的任务,包括决定处理哪些文件,为不一样的任务分配节点以及监控全部任务的运行,若是任务失败,jobTracker将会自动重启任务,可是所分配的节点可能会不一样。

每一个Hadoop集群只有一个JobTracker守护进程,他一般运行在服务器的主节点上。

TaskTracker

 

 

 

下面的图形描述了一个Hadoop集群的拓扑结构,这是一个主/从结构,特色是主节点上运行NameNode和JobTracker,而从节点上运行DataNode和TaskTracker。并使用独立的节点运行SSN,以防止主节点运行失败。


 


了解了以上信息,咱们来关注一下Hadoop的NameNode和JobTracker究竟分别执行什么样的功能?

一、从存储角度来理解:集群是由一个Namenode和若干datanode组成,而secondary做为Namenode的一个备份

二、从应用的角度来理解:集群中的节点是由jobtracker和若干tasktracker组成,jobtracker负责任务的调度,而tasktracker则是负责任务的执行。所以,tasktracker是运行在datanode的,而Namenode和jobtracker则无需在同一机器上面
相关文章
相关标签/搜索