Hadoop構架概覽

jopen 8年前發布 | 7K 次閱讀 分布式/云計算/大數據

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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!