HADOOP:Hadoop生態系統

主要針對hadoop 2.x


Hadoop是什麼 ?

Hadoop是一個開源框架(平臺),能夠對大量數據進行分佈式處理。 Hadoop框架的核心是HDFS和MapReduce,YARN(Yet Another Resource Negotiator)。其中 HDFS 是分佈式文件系統,MapReduce 是分佈式數據處理模型和執行環境,YARN是分佈式執行框架。


    下面是hadoop2.x的生態系統圖。

hadoop2.x的生態系統圖


目前Hadoop項目主要包括四個模塊

    Hadoop Common: 提供對其他模塊的支持
    Hadoop Distributed File System (HDFS):高吞吐量的分佈式文件系統
    Hadoop YARN: 任務調度和資源管理的一個框架
    Hadoop MapReduce: 並行計算模型

一些有關的項目

  1. Flume、Scribe,Chukwa數據收集,收集非結構化數據的工具。
  2. Hiho、Sqoop 將關係數據庫中的數據和HDFS交互的工具
  3. Hive數據倉庫,pig分析數據的工具
  4. Oozie作業流調度引擎
  5. Hue,Hadoop自己的監控管理工具
  6. Avro 數據序列化工具
  7. mahout數據挖掘工具
  8. Hbase分佈式的面向列的開源數據庫
  9. Ambari 一款開源的hadoop監控工具
  10. Cassandra 一個可擴展的不存在單點故障的multi-master數據庫
  11. Chukwa: 用於管理大型分佈式系統的數據收集系統。
  12. Spark: 一個快速和通用計算的hadoop數據引擎,Spark 提供了一個簡單而富有表現力的編程模型,支持多種應用,包括ETL、機器學習、數據流處理、圖形計算。
  13. Tez : ….
  14. ZooKeeper:分佈式應用的高性能協調服務組件

HDFS(Hadoop分佈式文件系統)

這裏寫圖片描述

HDFS(Distributed File System)是Hadoop體系中數據存儲管理的基礎。它是一個高度容錯的系統,能檢測和應對硬件故障,用於在低成本的通用硬件上運行。HDFS簡化了文件的一致性模型,通過流式數據訪問,提供高吞吐量應用程序數據訪問功能,適合帶有大型數據集的應用程序。
Client:切分文件;訪問HDFS;與NameNode交互,獲取文件位置信息;與DataNode交互,讀取和寫入數據。
NameNode:Master節點,在hadoop1.X中只有一個,管理HDFS的名稱空間和數據塊映射信息,配置副本策略,處理客戶端請求。
DataNode:Slave節點,存儲實際的數據,彙報存儲信息給NameNode。
Secondary NameNode:輔助NameNode,分擔其工作量;定期合併fsimage和fsedits,推送給NameNode;緊急情況下,可輔助恢復NameNode,但SecondaryNameNode並非NameNode的熱備。

HDFS具有如下特點:

1 良好的擴展性
2 高容錯性
3 適合PB級以上海量數據的存儲

HDFS的基本原理

1 將文件切分成等大的數據塊,存儲到多臺機器上
2 將數據切分、容錯、負載均衡等功能透明化
3 可將HDFS看成容量巨大、具有高容錯性的磁盤

HDFS的應用場景

1 海量數據的可靠性存儲
2 數據歸檔

HDFS的詳細信息可參考官網,這裏只是做一個簡單的印象介紹
http://hadoop.apache.org/


Yarn(資源管理系統)

Yarn是Hadoop2.0新增的系統,負責集羣的資源管理和調度,使得多種計算框架可以運行在一個集羣中。
Yarn具有如下特點:
    良好的擴展性、高可用性
    對多種數據類型的應用程序進行統一管理和資源調度
    自帶了多種用戶調度器,適合共享集羣環境

這裏寫圖片描述


MapReduce(分佈式計算框架/模型)

MapReduce具有如下特點:
    良好的擴展性
    高容錯性
    適合PB級以上海量數據的離線處理

這裏寫圖片描述


參考文章:

發佈了33 篇原創文章 · 獲贊 10 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章