hadoop是一个开源的软件框架,是一个利用商业硬件处理和存储大型数据的软件。从下到上主要有五个主要的组成部分:

  • 集群,是一套主机(节点)组成的。节点可以以机架划分。这个是硬件级别的构架.
  • YARN构架 (目前为止的另外一个资源管理器)是一个负责提供计应用执行的时候需要的计算资源的框架(也就是cpu,内存等等). 两个重要的部分如下::

    • 一个资源管理器 (每个集群一个) 作为master. 资源管理器知道下面的每一个slave节点在哪里(机架感知) 以及他们这些节点有哪些资源可以使用. master运行若干服务。最重要的是资源调度器,资源调度器决定怎样分配资源.

    • 节点管理器  (一个集群有很多个r)是slave构架组成. 当节点管理器启动的时候,将自己注册到资源管理器,并且定时的相资源管理器发送心跳信息。每一个节点管理器提供自己的资源给集群。那么他的资源其实就是内存的大小,有多少个vcores。再运行时状态,资源调度器会决定如何使用这些资源:一个容器是这些资源的一部分并且被客户端用来运行一个程序。

  • HDFS是一个负责提供持久的,可靠的,分布式的存储框架。用来存储输入和输出(除开中间输出)。

  • 其他的存储系统:例如Amazon  S3.
  • MapReduce 框架是一个实现mapreduce算法的软件层

YRAN构架以及HDFS完全分开并且彼此独立。前者提供资源并且运行一个程序后者则提供存储。mapreduce则很多可以运行在YRAN顶层的框架之一。(虽然目前为止还是唯一的,但是到2016就不唯一了)

YRAN:启动应用


在 YARN中, 至少有下面三个部分:

  • Job Submitter (客户端)
  • Resource Manager (master端)
  • Node Manager (slave端)

应用的启动如下所示:

  1. 一个客户端提交一个程序给资源管理器
  2. 资源管理器分配一个容器
  3. 资源管理器联系相关的节点管理器
  4. 节点管理器启动容器
  5. 容器执行应用Master

应用Master负责单个应用的执行。他向资源调度器请求容器,执行特定的程序(例如java的main方法)。应用master知晓应用的逻辑因此是框架特特异的。mapreduce提供自己实现的应用master。


Charles 于2016-01-07  Phnom Penh



版权说明:
本文由Charles Dong原创,本人支持开源以及免费有益的传播,反对商业化谋利。
CSDN博客:http://blog.csdn.net/mrcharles
个人站:http://blog.xingbod.cn
EMAIL:charles@xingbod.cn

Hadoop构架概览的更多相关文章

  1. Hadoop生态系统图解

    Hadoop生态架构图 参考文章: Hadoop生态系统介绍 HDFS架构 1.NaneDode:主节点,**存储文件的元数据**如文件名,文件目录结构,文件属性(生成时间,副本数量,文件权限),以及 ...

  2. 在HDInsight中的Hadoop介绍

    在HDInsight中的Hadoop介绍 概览 Azure的HDInsight是,部署和规定的Apache™Hadoop®集群在云中,提供用于管理,分析和大数据报告软件框架中的服务. 大数据 数据被描 ...

  3. 思数云hadoop目录

    全文检索.数据分析挖掘.推荐系统.广告系统.图像识别.海量存储.快速查询 l Hadoop介绍 n Hadoop来源与历史 n Hadoop版本 n Hadoop开源与商业 l HDFS系统架构 n ...

  4. linux及安全第八周总结——20135227黄晓妍

    实验部分 实验环境搭建 -rm menu -rf git clone https://github.com/megnning/menu.git cd menu make rootfs qemu -ke ...

  5. Hadoop学习-生态体系(ecosystem)概览

    0. 大背景 全球No.1搜索引擎公司谷歌(Google)面临每天海量搜索引擎数据的问题,经过长时间的实践积累, 谷歌形成了自己的大数据框架,但是并没有开源,而是发表了一篇论文,阐述了自己的思想,在论 ...

  6. 【Hadoop】HIVE 小结概览

    一.HIVE概览小结 二.HIVE安装 Hive只在一个节点上安装即可 .上传tar包 .解压 tar -zxvf hive-.tar.gz -C /cloud/ .配置mysql metastore ...

  7. Hadoop——HDFS的构架

    在使用一个工具之前,应该先对它的机制.组成等有深入的了解,以后才会更好的使用它.下面来介绍一下什么是HDFS,以及他的构架是什么样的. 1.什么是HDFS? Hadoop主要是用于进行大数据处理,那么 ...

  8. about云资源汇总指引V1.4:包括hadoop,openstack,nosql,虚拟化

    hadoop资料 云端云计算2G基础课程 (Hadoop简介.安装与范例) 炼数成金3G视频分享下载 虚拟机三种网络模式该如何上网指导此为视频 Hadoop传智播客七天hadoop(3800元)视频, ...

  9. Hadoop高可用平台搭建

    文章概览: 1.机器规划和预配置 2.软件安装 3.集群文件配置 4.启动集群 5.HA验证 6.注意事项 7.小结   机器规划和预配置 主机/进程 NN DN RM NM ZK(QP) ZKFC ...

随机推荐

  1. C++ 系列:随机数

    C++中没有自带的random函数,要实现随机数的生成就需要使用rand()和srand().不过,由于rand()的内部实现是用线性同余法做的,所以生成的并不是真正的随机数,而是在一定范围内可看为随 ...

  2. virtualbox启动虚机报错:The VM session was closed before any attempt to power it on.

    解决方法:   image.png 点击清除即可. 或者在控制>清除保存的状态.然后重启虚机即可!

  3. Linux 指令查询帮助

    man +指令名 例子: man rename

  4. 登录操作(方法二:for与else搭配)

    登录操作(方法二:for与else搭配) user_name="star"passwoed='123' count=0for i in range(3): u_username=i ...

  5. Unity 手机屏幕适配

    ////如有侵权 请联系我进行删除 email:YZFHKM@163.com 1.游戏屏幕适配 屏幕适配是为了让我们的项目能够跑在各种电子设备上(手机,平板,电脑) 那么了解是适配之前首先要了解两个知 ...

  6. thinkphp 变量输出

    在模板中输出变量的方法很简单,例如,在控制器中我们给模板变量赋值: 大理石平台支架 $name = 'ThinkPHP'; $this->assign('name',$name); $this- ...

  7. thinkphp 链接数据库

    ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理.目前的数据 ...

  8. 括号匹配——cf1095E

    正解应该是求后缀和前缀 但是多情况讨论好像也能过.. 大概分为: 首先排除不能改的情况 1.改左括号 2.改右括号 /* 将一个位置的括号反过来,使原序列变成合法序列 */ #include<b ...

  9. JavaScript中的浏览器对象模型

    浏览器对象模型 1.浏览器引入JavaScript 1.直接在HTML文件中引入 首先第1种方式就是直接在HTML文档里面引入JavaScript代码.在维护一些老项目的时候,经常 可以看到J ava ...

  10. linux下常见的包安装方式

    linux下常见的包安装方式 一.总结 一句话总结: rpm包安装 tar.gz源代码包安装 yum方式安装rpm包 bin文件安装 1.yum是什么? 安装所有依赖的软件包 Yum(全称为 Yell ...