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

(1) NameNode(名字节点)

(2) DataNode(数据节点)

(3) Secondary NameNode (次名节点)

(4) JobTracker  (作业跟踪节点)

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

NameNode

被认为是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 下的1、2、3文件和存储在 /user/james/data2下的

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

Secondary NameNode

JobTracker

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

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

TaskTracker

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



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

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

2、从应用的角度来理解:集群中的节点是由jobtracker和若干tasktracker组成,jobtracker负责任务的调度,而tasktracker则是负责任务的执行。因此,tasktracker是运行在datanode的,而Namenode和jobtracker则无需在同一机器上面
 
 

Hadoop学习篇 2 初识 Hadoop的更多相关文章

  1. Hadoop学习笔记(1) 初识Hadoop

    1. Hadoop提供了一个可靠的共享存储和分析系统.HDFS实现存储,而MapReduce实现分析处理,这两部分是Hadoop的核心. 2. MapReduce是一个批量查询处理器,并且它能够在合理 ...

  2. Hadoop学习1(初识hadoop)

    Hadoop生态系统的特点 1)源代码开源 2)社区活跃,参与者多 3)涉及分布式存储和计算的各方面 4)已得到企业界的验证 Hadoop构成 1) 分布式文件系统HDFS(Hadoop Distri ...

  3. Hadoop学习总结之五:Hadoop的运行痕迹

    Hadoop学习总结之五:Hadoop的运行痕迹   Hadoop 学习总结之一:HDFS简介 Hadoop学习总结之二:HDFS读写过程解析 Hadoop学习总结之三:Map-Reduce入门 Ha ...

  4. 大数据学习笔记之初识Hadoop

    1.Hadoop概述 1.1 Hadoop名字的由来 Hadoop项目作者的孩子给一个棕黄色的大象样子的填充玩具的命名 Hadoop的官网:http://hadoop.apache.org . 1.2 ...

  5. Hadoop学习笔记—4.初识MapReduce

    一.神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个编程模型,用以进行大数据量的计算.对于大数据量的计算,通常采用的处理手法就是并行计算.但对许多开发者来 ...

  6. Hadoop学习1—浅谈hadoop

    大数据这个词越来越热,本人一直想学习一下,正巧最近有时间了解一下.先从hadoop入手,在此记录学习中的点滴. 什么是hadoop? What Is Apache Hadoop? The Apache ...

  7. Hadoop学习之Ubuntu12.04 Hadoop 环境搭建笔记

    SSH无密码配置 Hadoop在Ubuntu12.04上搭建环境 报错及问题 SSH无密码配置 参考:Linux(Centos)配置OpenSSH无密码登陆 注意问题: Hadoop集成环境三台机器都 ...

  8. hadoop学习笔记--找到执行hadoop的入口

    参与个hadoop项目,之前没搞过,赶紧学习: 照葫芦画瓢,得到代码是hdfs2local.sh脚本和LiaoNingFilter.jar包,迫不及待用jd-gui打开jar包,搜索到main(在MA ...

  9. hadoop学习通过虚拟机安装hadoop完全分布式集群

    要想深入的学习hadoop数据分析技术,首要的任务是必须要将hadoop集群环境搭建起来,可以将hadoop简化地想象成一个小软件,通过在各个物理节点上安装这个小软件,然后将其运行起来,就是一个had ...

随机推荐

  1. [VBS]脚本中的字典、动态数组、队列和堆栈

    今天用VBS脚本写了几个程序,用到了字典(Dictionary).动态数组(ArrayList).队列(Queue)和堆栈(Stack).现在写篇Blog总结一下 :-) 1.编写环境 今天突发奇想下 ...

  2. Reapter控件的特殊使用:使用EVAL调取asp:Repeater里面绑定的值来进行判断 根据从数据库获取的数据进行判断 ,进而显示成想要的内容

    1.这个判断的过程你可以写在后台,如先在后台写一个public类型的方法:public bool CheckAduit(string code){ //根据你传入的code来判断,并返回true或者f ...

  3. 常用Sql语句书写

    一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert into Strdent ...

  4. PHP ftp使用

    本文章来总结几个利用php中的ftp功能来实现通过FTP上传文件,有需要学习的朋友可参考参考.ftp_get() 函数从 FTP 服务器上下载一个文件.若成功则返回 true,失败则返回 false. ...

  5. getline函数的用法

    函数声明 bool getline(istream &in, string &s) 功能说明: 从输入流读入一行到变量string s,及时是空格也可以读入. –直到出现以下情况为止: ...

  6. Ubuntu12.04配置mod_python

    安装: sudo apt-get install libapache2-mod-python python-mysqldb 然后编辑配置文件/etc/apache2/sites-enabled/000 ...

  7. jsp_属性范围_session

    session属性设置后,不管是客户端跳转还是服务器端跳转,只要属性设置了就可以取得. 下面写个小例子来验证一下: (1)session_demo.jsp <%@ page contentTyp ...

  8. BZOJ3171 Tjoi2013 循环格

    传送门 Description 一个循环格就是一个矩阵,其中所有元素为箭头,指向相邻四个格子.每个元素有一个坐标(行,列),其中左上角元素坐标为(0,0).给定一个起始位置(r,c) ,你可以沿着箭头 ...

  9. html+css知识整理

    1.学网页最好的方法:学习别人的网页. 2.文档结构 <html>(超文本标记语言) <head>  <title>     </title>    & ...

  10. python学习笔记:Day01

    一.python 简介 1.  python是Guido van Rossum在1989年圣诞节期间,为了打发无聊的假期而编写的一个编程语言   2.  pyhton主要应用于数据分析.组件集成.网络 ...