一,、簡介 Hadoop是一個(gè)分布式系統(tǒng)基礎(chǔ)架構(gòu),由Apache基金會(huì)開發(fā),。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,,開發(fā)分布式程序。充分利用集群的威力高速運(yùn)算和存儲(chǔ),。簡單地說來,,Hadoop是一個(gè)可以更容易開發(fā)和運(yùn)行處理大規(guī)模數(shù)據(jù)的軟件平臺(tái),。 圖1 Hadoop主要項(xiàng)目 MapReduce:分布式數(shù)據(jù)處理模型和執(zhí)行環(huán)境,,運(yùn)行于大型商用機(jī)集群。 HDFS:分布式文件系統(tǒng),,運(yùn)行于大型商用機(jī)集群,。 Zookeeper:一個(gè)分布式、可用性高的協(xié)調(diào)服務(wù),,提供分布式鎖之類的基本服務(wù)用于構(gòu)建分布式應(yīng)用,。 HBase:一個(gè)分布式、按列存儲(chǔ)數(shù)據(jù)庫,,使用HDFS作為底層存儲(chǔ),,同時(shí)支持MapReduce的批量式計(jì)算和點(diǎn)查詢(隨機(jī)讀取),。 Pig:一種數(shù)據(jù)流語言和運(yùn)行環(huán)境,,用以檢索非常大的數(shù)據(jù)集,運(yùn)行在MapReduce和HDFS的集群上,。 Hive:一個(gè)分布式,、按列存儲(chǔ)的數(shù)據(jù)倉庫,管理HDFS中存儲(chǔ)的數(shù)據(jù),,并提供基于SQL的查詢語言(由運(yùn)行時(shí)引起翻譯成MapReduce作業(yè))用以查詢數(shù)據(jù),。 Mahout:一個(gè)在Hadoop上運(yùn)行的可擴(kuò)展的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘類庫(例如分類和聚類算法),。 Avro:一種支持高效,、跨語言的RPC以及永久存儲(chǔ)數(shù)據(jù)的序列化系統(tǒng)。 Sqoop:在數(shù)據(jù)庫和HDFS之間高效傳輸數(shù)據(jù)的工具,。 二,、核心 Hadoop對(duì)應(yīng)于Google三駕馬車:HDFS對(duì)應(yīng)于GFS,即分布式文件系統(tǒng),,MapReduce即并行計(jì)算框架,,HBase對(duì)應(yīng)于BigTable,即分布式NoSQL列數(shù)據(jù)庫,,外加Zookeeper對(duì)應(yīng)于Chubby,,即分布式鎖設(shè)施。 圖2 Hadoop核心系統(tǒng) 三,、應(yīng)用 Hadoop如何應(yīng)用依據(jù)具體業(yè)務(wù)而不同,,可能如下圖: 圖3 Hadoop應(yīng)用案例 四、社區(qū) 下面是一張Hadoop生態(tài)圖譜,,琳瑯滿目: 圖4 Hadoop生態(tài)圖譜
各大互聯(lián)網(wǎng)公司的研究,、開發(fā)和應(yīng)用都直接或間接地促進(jìn)Hadoop社區(qū)的發(fā)展,從而使得Hadoop生態(tài)圈更加豐富多彩,。
|
|