Hadoop构架概览

jopen 9年前

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

Hadoop Architecture Oveview

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

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


      Resource Manager

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

      Node Manager overview


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

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

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

YRAN:启动应用


YARN Architecture

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

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

应用的启动如下所示:

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

Yarn: Application Startup

应用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


来自: http://blog.csdn.net//mrcharles/article/details/50478906