快速了解Hadoop架构

2013-02-23|来源: 黄奕能

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



运行在master上的:NameNode   Secondary NameNode JobTracker

运行在slave上的:DataNode  TaskTracker


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


NameNode 主要功能提供名称查询服务,它是一个jetty服务器

NameNode保存metadata(元数据)信息,包括

   文件owership和permissions

   文件包含哪些块

   Block保存在哪个DateNode(由DataNode启动时上报)

NameNode的metadata信息在启动后会加载到内存

metadata存储到磁盘文件名为“fsimage”

   Block的位置信息不会保存到fsimage



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任务


本文接:快速了解Hadoop架构本文由领悟书生原创,转载请注明出处http://www.656463.com/article/376

相关问答

更多

如何基于Docker快速搭建多节点Hadoop集群

Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中。这篇教程介绍了利用Docker在单机上快速搭 建多节点 Hadoop集群的详细步骤。作者在发现目前的Hadoop on Docker项目所存在的问题之后,开发了接近最小化的Hadoop镜像,并且支持快速搭建任意节点数的Hadoop集群。 GitHub: kiwanlau/hadoop-cluster-docker 直接用机器搭建Hadoop集群是一个相当痛苦的过程,尤其对初学者来说。他们还没开始跑wordco ...

如何基于Docker快速搭建多节点Hadoop集群

直接用机器搭建Hadoop集群是一个相当痛苦的过程,尤其对初学者来说。他们还没开始跑wordcount,可能就被这个问题折腾的体无完肤了。而且也不是每个人都有好几台机器对吧。你可以尝试用多个虚拟机搭建,前提是你有个性能杠杠的机器。 我的目标是将Hadoop集群运行在Docker容器中,使Hadoop开发者能够快速便捷地在本机搭建多节点的Hadoop集群。其实这个想法已经有了不少实现,但是都不是很理想,他们或者镜像太大,或者使用太慢,或者使用了第三方工具使得使用起来过于复杂。下表为一些已知的Hado ...

云计算架构与hadoop有什么区别

云计算是一个比较虚的概念,只是提出了一种理念,把原本在一台计算机上进行的计算工作放到了一个云平台上进行,云平台可能是由多台计算机构成的集群组成的,有统一的管理平台来负责协调这些计算机的工作调度。 而Hadoop就是基于这种思想的一种具体实现,也就是一种具体的云计算平台,它能够协调管理多台计算机,使之并发工作。

大家好,我最近在学习hadoop,了解了hdfs,hbase,mapreduce,但是不知道一个javaweb

先用hadoop处理数据然后写入mysql数据库,然后就可以通过Javaweb程序查询读取了

JAVA快速入门的方法

作为师兄的,也来给你说两句! 首先,你们那本书好像有九章! 每章都大概是什么内容!你要心里有个底!这些都是大概! 其次就是java编程的构思! java有个api文档,也不大,很多个版本。htm,chm都有 中文英文都有,你要学会用这个东西! 各种方法都在里面,因此会了api,只要你想的到的构思,相信你用api都可以找到 那样看各种函数方法之类的,就很简单了!

hadoop教程

相关文章

更多

最近更新

更多