快速了解Hadoop架构

2019-03-23 10:36|来源: 黄奕能

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

相关问答

更多

了解hadoop+hbase帮忙。。。

1.hadoop是分布式平台,就把计算和存储都由hadoop自动调节分布到接入的计算机单元中 2.hbase是hadoop上实现的kv数据库 3.hbase+hadoop无需再与mysql搭配了, 而且kv数据库与传统关系数据库区别很大 4.hadoop+hbase是分布式计算与分布式数据库存储的组合 5.增删查改都是真的hbase的,

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

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

如何基于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 ...

mvc框架与hadoop有什么区别?

MVC只是一种推荐使用的非常优秀的设计模式,SSH框架则是对MVC模式的一种具体实现。SSH也不是完全实现MVC,只是提供了一个实现MVC的便捷的框架,而框架说白了就是为软件提供了一个可复用的架构,省去很多重复的工作,框架还提供很多功能你可以慢慢挖掘。可以说MVC只是一种设计思想,SSH框架就是帮助你实现MVC而提供的一些通用的类库和工具以及一些规范和标准。