學(xué)習(xí)筆記 Hadoop是什么?
本節(jié)和大家一起學(xué)習(xí)一下Hadoop,主要介紹一下Hadoop的概念以及它的特點(diǎn),歡迎大家一起來學(xué)習(xí)Hadoop的知識(shí)。
1.Hadoop是什么
Hadoop原來是ApacheLucene下的一個(gè)子項(xiàng)目,它最初是從Nutch項(xiàng)目中分離出來的專門負(fù)責(zé)分布式存儲(chǔ)以及分布式運(yùn)算的項(xiàng)目。簡單地說來,Hadoop是一個(gè)可以更容易開發(fā)和運(yùn)行處理大規(guī)模數(shù)據(jù)的軟件平臺(tái)。
2.下面列舉hadoop主要的一些特點(diǎn):
1擴(kuò)容能力(Scalable):能可靠地(reliably)存儲(chǔ)和處理千兆字節(jié)(PB)數(shù)據(jù)。
2成本低(Economical):可以通過普通機(jī)器組成的服務(wù)器群來分發(fā)以及處理數(shù)據(jù)。這些服務(wù)器群總計(jì)可達(dá)數(shù)千個(gè)節(jié)點(diǎn)。
3高效率(Efficient):通過分發(fā)數(shù)據(jù),hadoop可以在數(shù)據(jù)所在的節(jié)點(diǎn)上并行地(parallel)處理它們,這使得處理非常的快速。
4可靠性(Reliable):hadoop能自動(dòng)地維護(hù)數(shù)據(jù)的多份復(fù)制,并且在任務(wù)失敗后能自動(dòng)地重新部署(redeploy)計(jì)算任務(wù)。
3.Hadoop實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(HadoopDistributedFileSystem),簡稱HDFS。
HDFS有著高容錯(cuò)性(fault-tolerent)的特點(diǎn),并且設(shè)計(jì)用來部署在低廉的(low-cost)硬件上。而且它提供高傳輸率(highthroughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(largedataset)的應(yīng)用程序。HDFS放寬了(relax)POSIX的要求(requirements)這樣可以流的形式訪問(streamingaccess)文件系統(tǒng)中的數(shù)據(jù)。
4.Hadoop還實(shí)現(xiàn)了MapReduce分布式計(jì)算模型。
MapReduce將應(yīng)用程序的工作分解成很多小的工作小塊(smallblocksofwork)。HDFS為了做到可靠性(reliability)創(chuàng)建了多份數(shù)據(jù)塊(datablocks)的復(fù)制(replicas),并將它們放置在服務(wù)器群的計(jì)算節(jié)點(diǎn)中(computenodes),MapReduce就可以在它們所在的節(jié)點(diǎn)上處理這些數(shù)據(jù)了。
如下圖所示:
5.HadoopAPI被分成(divideinto)如下幾種主要的包(package)
org.apache.hadoop.conf定義了系統(tǒng)參數(shù)的配置文件處理API。
org.apache.hadoop.fs定義了抽象的文件系統(tǒng)API。
org.apache.hadoop.dfsHadoop分布式文件系統(tǒng)(HDFS)模塊的實(shí)現(xiàn)。
org.apache.hadoop.io定義了通用的I/OAPI,用于針對(duì)網(wǎng)絡(luò),數(shù)據(jù)庫,文件等數(shù)據(jù)對(duì)象做讀寫操作。
org.apache.hadoop.ipc用于網(wǎng)絡(luò)服務(wù)端和客戶端的工具,封裝了網(wǎng)絡(luò)異步I/O的基礎(chǔ)模塊。
org.apache.hadoop.mapredHadoop分布式計(jì)算系統(tǒng)(MapReduce)模塊的實(shí)現(xiàn),包括任務(wù)的分發(fā)調(diào)度等。
org.apache.hadoop.metrics定義了用于性能統(tǒng)計(jì)信息的API,主要用于mapred和dfs模塊。
org.apache.hadoop.record定義了針對(duì)記錄的I/OAPI類以及一個(gè)記錄描述語言翻譯器,用于簡化將記錄序列化成語言中性的格式(language-neutralmanner)。
org.apache.hadoop.tools定義了一些通用的工具。
org.apache.hadoop.util定義了一些公用的API。
【編輯推薦】
- Hadoop安裝部署簡明步驟詳解
- Hadoop執(zhí)行路徑深入剖析
- Hadoop集群與Hadoop性能優(yōu)化
- Hadoop 從Yahoo向Google的技術(shù)轉(zhuǎn)折
- Hadoop入門專家引導(dǎo)