Yarn做為hadoop下一代集群資源管理和調度平臺, 其上能支持多種計算框架, 本文就簡要介紹一下這些計算框架.
1. MapReduce
首先是大家熟悉的mapreduce, 在MR2之前, hadoop包括HDFS和mapreduce, 做為hadoop上唯一的分布式計算框架, 其優(yōu)點是用戶可以很方便的編寫分布式計算程序, 并支持許多的應用, 如hive, mahout, pig等. 但是其缺點是無法充分利用集群資源, 不支持DAG, 迭代式計算等. 為了解決這些問題, yahoo提出了Yarn (next generation mapreduce), 一個分布式集群集群資源管理和調度平臺. 這樣除了mapreduce外, 還可以支持各種計算框架.
2. Spark
Spark是一種與mapreduce相似的開源計算框架, 不同之處在于Spark在某些工作負載方面表現更優(yōu), 因為它使用了內存分布式數據集, 另外除了提供交互式查詢外, 它還可以優(yōu)化迭代工作負載.
3. Apache HAMA
Apache Hama 是一個運行在HDFS上的BSP(Bulk Synchronous Parallel大容量同步并行) 計算框架, 主要針對大規(guī)??茖W計算,如矩陣, 圖像, 網絡算法等.當前它有一下功能:
- 作業(yè)提交和管理接口
- 單節(jié)點上運行多個任務
- 輸入/輸出格式化
- 備份恢復
- 支持通過Apache Whirr運行在云端
- 支持與Yarn一起運行
4. Apache Giraph
圖像處理平臺上運行這大型算法(如page rank, shared connections, personalization-based popularity 等)已經很流行, Giraph采用BSP模型(bulk-synchronous parallel model),可用于等迭代類算法。
5. Open MPI
這是一個高性能計算函數庫,通常在HPC(High Performance Computing)中采用,與MapReduce相比,其性能更高,用戶可控性更強,但編程復雜,容錯性差,可以說,各有所長,在實際應用中,針對不同 該應用會采用MPI或者MapReduce。
6. Apache HBase
HBase是一個hadoop數據庫, 其特點是分布式,可擴展的,存儲大數據。當有需要隨機,實時讀寫的大數據時, 使用HBase很適合.
本文參考:
http://wiki.apache.org/hadoop/PoweredByYarn
http://www.oschina.net/p/open+mpi
http://incubator.apache.org/hama/
http://incubator.apache.org/giraph/
http://hbase.apache.org/