大數據基礎:Hadoop2.x生態系統(一)

一、基礎概念 & 適用場景

1、分佈式文件系統(HDFS)

HDFS是Hadoop分佈式文件系統,HDFS有如下技術特點和應用場景:

  1. 適合處理超大文件,數量級達到GB、TB甚至PB級
  2. 支持集羣規模的動態擴展
  3. 適用於流式數據讀寫的場景,即“一次寫入,多次讀取”
  4. 具有高容錯性,數據塊可以保存多個副本,實現負載均衡
  5. 對硬件要求低,能夠運行在廉價的商用機器集羣

不適用於如下場景:

  1. 不適合需要高效存儲大、量小的場景
  2. 不適合低延遲的數據訪問場景
  3. 不適合多用戶同時寫和任意修改該文件場景

2、分佈式計算框架(MapReduce)

MapReduce是一個分佈式並行編程模型,將計算任務分佈在成百上千個節點組成的集羣進行並行計算,並返回計算結果。

MapReduce計算模型有如下優點和使用場景:

  1. 具有高度可擴展性,可動態增加/削減計算節點
  2. 具有高容錯能力,支持任務自動遷移、重試和預測執行,不受單點故障影響
  3. 能實現靈活的資源分配和調度,達到資源利用的最大化
  4. 可部署在幾千臺機器的超大規模集羣尚,使MapReduce可以處理具有超大規模數據的業務場景
  5. MapReduce模型使用方便,易於編程,簡化了分佈式程序設計,提高了開發效率且支持多開發語言
不適合使用MapReduce計算模型的場景:
  1. MapReduce計算的時延較高,對實時性要求較高的場景不合適使用
  2. MapReduce適合順序批量處理數據,處理隨機訪問的能力不足,因此需要處理隨機數據的場景也不適用MapReduce

3、分佈式集羣管理系統(Zookeeper)

Zookeeper是一個針對大型分佈式系統的可靠協調系統。在大數據系統中,Zookeeper爲Hadoop生態系統中各組件提供功能支撐。
Zookeeper主要有如下常見應用場景:

  1. 爲分佈式應用系統提供同一的配置管理信息
  2. 爲分佈式應用系統提供同一的命名服務
  3. 提供基於簡單原語的分佈式同步操作
  4. 集羣管理

4、數據倉庫工具(Hive)

Hive是基於Hadoop平臺的數據倉庫工具。適用於如下場景:
  1. 海量數據的離線分析
  2. 結構化數據的處理

5、分佈式數據庫(HBase)

HBase是基於HDFSd的面向列的分佈式數據庫系統,HBase具有高可靠性、高性能、列存儲、可伸縮、實時讀寫的特點。
HBase適用於如下場景:
  1. 存儲和查詢半結構化和非結構化的數據
  2. 存儲和查詢記錄稀疏的數據
  3. 存儲和查詢超大數據量的數據
  4. 業務場景簡單,不需要全部關係數據庫特性的場景
發佈了172 篇原創文章 · 獲贊 29 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章