在前面的博文中,我已经介绍过Hadoop的基本概念了(见博文初识Hadoop),今天来介绍一下Hadoop的体系结构。

  Hadoop的两大核心是HDFS和MapReduce,而整个Hadoop的体系结构主要是通过HDFS来实现分布式存储的底层支持的,并且它会通过MapReduce来实现分布式并行任务处理的程序支持。下面我就分别介绍一下HDFS和MapReduce的体系结构。

1. HDFS体系结构

  HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中Namenode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;而集群中的DataNode主要承担管理存储的数据的任务。

  HDFS允许用户已文件的形式存储数据。从内部来看,文件被分成若干个数据块,而且这若干个数据块存放在一组DataNode上。Namenode执行文件系统的命名空间操作,比如打开、关闭、重命名等,同时它也负责数据块到具体DataNode的映射。DataNode负责处理文件系统客户端的文件读写请求,并在Namenode的统一调度下进行数据块的创建、删除和复制操作。其体系结构图如下所示。

  一个典型的部署场景是集群中的一台机器运行一个Namenode实例,其他机器分别运行DataNode实例。当然,并不排除一台机器运行多个DataNode实例的情况。集群中单一Namenode的设计大大简化了系统的架构,Namenode是所有HDFS元数据的管理者,用户需要保存的数据不会经过Namenode,而是直接流向存储数据的DataNode。

2. MapReduce体系结构  

  MapReduce是一种并行编程模式,利用这种模式软件开发者可以轻松地开发出分布式并行程序。在Hadoop体系结构中MapReduce是一个简单易用的软件框架,基于它可以将任务分发到上千台商用机器组成的集群上,并以一种可靠容错的方式并行处理大量的数据集,实现Hadoop的并行任务处理功能。

  MapReduce框架是由一个单独运行在主节点的JobTracker和运行在每个集群从节点的TaskTracker共同组成。主节点负责调度构成一个作业的所有任务,这些任务分部在不同的从节点上。主节点监控它们的运行情况,并且负责重新执行之前失败的任务;从节点仅负责由主节点指派的任务。当一个Job被提交的时候,JobTracker接受到提交的作业和其配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控TaskTracker的执行。

  从上面的介绍可以看出,HDFS和MapReduce共同组成了Hadoop分布式系统结构体系的核心。HDFS在集群上实现了分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理。HDFS在MapReduce任务处理过程中提供了对文件的操作和存储等操作,MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互协调。共同完成了Hadoop分布式集群的任务。

以上就是博主为大家介绍的这一板块的主要内容,这都是博主自己的学习过程,希望能给大家带来一定的指导作用,有用的还望大家点个支持,如果对你没用也望包涵,有错误烦请指出。如有期待可关注博主以第一时间获取更新哦,谢谢!

  

版权声明:本文为博主原创文章,未经博主允许不得转载。

Hadoop体系结构的更多相关文章

  1. Hadoop体系结构杂谈

    hadoop体系结构杂谈 今天跟一个朋友在讨论hadoop体系架构,从当下流行的Hadoop+HDFS+MapReduce+Hbase+Pig+Hive+Spark+Storm开始一直讲到HDFS的底 ...

  2. Hadoop学习笔记(一)——Hadoop体系结构

    HDFS和MapReduce是Hadoop的两大核心. 整个Hadoop体系结构主要是通过HDFS来实现分布式存储的底层支持的,而且通过MapReduce来实现分布式并行任务处理的程序支持. 一.HD ...

  3. Hadoop体系结构之 HDFS

    HDFS采用主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的(在最新的Hadoop2.2版本已经实现多个NameNode的配置-这也是一 ...

  4. Hadoop体系结构管理

    一.查看Zookeeper信息 [hadoop@weekend01 ~]$zkServer.sh status JMX enabled by default Using config: /hadoop ...

  5. Hadoop体系结构之 Yarn

    1.1 YARN 基本架构 YARN是Hadoop 2.0中的资源管理系统,它的基本设计思想是将MRv1中的JobTracker拆分成了两个独立的服务:一个全局的资源管理器ResourceManage ...

  6. Hadoop体系结构之 Mapreduce

    MR框架是由一个单独运行在主节点上的JobTracker和运行在每个集群从节点上的TaskTracker共同组成.主节点负责调度构成一个作业的所有任务,这些任务分布在不同的不同的从节点上.主节点监视它 ...

  7. Hadoop 之面试题

    颜色区别: 蓝色:hive,橙色:Hbase.黑色hadoop 请简述hadoop怎样实现二级排序. 你认为用Java,Streaming,pipe 方式开发map/reduce,各有哪些优缺点: 6 ...

  8. Hadoop 概述

    Hadoop 是 Apache 基金会下的一个开源分布式计算平台,以 HDFS 分布式文件系统 和 MapReduce 分布式计算框架为核心,为用户提供底层细节透明的分布式基础设施.目前,Hadoop ...

  9. Hadoop概述

    本章内容 什么是Hadoop Hadoop项目及其结构 Hadoop的体系结构 Hadoop与分布式开发 Hadoop计算模型—MapReduce Hadoop的数据管理 小结 1.1 什么是Hado ...

随机推荐

  1. 书写优雅的shell脚本(八)- 日期格式化

    1. 将日期格式转为时间戳 获取当前时间:currenttime=`date "+%Y-%m-%d %H:%M:%S"` 结果:2015-04-13 11:15:43 将当前时间转 ...

  2. k8s-创建node节点kubeconfig配置文件

    Kubeconfig 需要配置如下 TLS Bootstrapping Token kubelet kubeconfig kube-proxy kubeconfig 下载kubectl kubectl ...

  3. robotium 测试APK<一> 建立测试工程

    1.准备Android开发环境 2.准备签名工具http://www.troido.de/re-sign.jar 1.建立测试工程 打开Eclipse,点击File->New一个Android ...

  4. RT-Thread的线程(任务)处理 rt_thread_create/rt_thread_init区别

    RT-Thread中使用线程这个概念,而不是任务.两者相似,我在这里把他的线程当作任务来理解了 1.任务处理: 动态任务相关API 创建任务:rt_thread_create函数,创建任务之后会返回r ...

  5. 好文章!转载嵌入式LINUX

    整理了嵌入式linux学习路线供参考,希望对您有所参考价值! 一.linux入门 目前嵌入式主要开发环境有 Linux.Wince等:Linux因其开源.开发操作便利而被广泛采用.而Linux操作系统 ...

  6. 微信公众平台:扫一扫demo

    ylbtech-微信公众平台:扫一扫demo 1.返回顶部 1.Web.config <appSettings> <add key="appid" value=& ...

  7. [hdu1269]迷宫城堡(SCC)

    题意:求一张图的强连通分量,若为1,则输出yes,否则输出no. 解题关键:targin算法模板题. #include<iostream> #include<cstring> ...

  8. xgene:WGS,突变与癌,RNA-seq,WES

     人类全基因组测序06 SNP(single nucleotide polymorphism):有了10倍以上的覆盖深度以后,来确认SNP信息,就相当可靠了. 一个普通黄种人的基因组,与hg19这个参 ...

  9. 315. Count of Smaller Numbers After Self(Fenwick Tree)

    You are given an integer array nums and you have to return a new counts array. The counts array has ...

  10. Unity 5.6中的混合光照(下)

    https://mp.weixin.qq.com/s/DNQFsWpZm-ybIlF3DTAk2A 在<Unity 5.6中的混合光照(上)>中,我们介绍了混合模式,以及Subtracti ...