Hadoop優(yōu)點及其結(jié)構(gòu)示意圖詳解
本節(jié)和大家一起學習一下Hadoop方面的知識,本節(jié)主要內(nèi)容有Hadoop概念介紹,Hadoop結(jié)構(gòu)示意圖和Hadoop的優(yōu)點及使用場景,歡迎大家一起來學習Hadoop。首先看一下Hadoop的概念。
Hadoop概念
Hadoop是一個分布式系統(tǒng)基礎(chǔ)架構(gòu),由Apache基金會開發(fā)。用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力高速運算和存儲。
簡單地說來,Hadoop是一個可以更容易開發(fā)和運行處理大規(guī)模數(shù)據(jù)的軟件平臺。
Hadoop實現(xiàn)了一個分布式文件系統(tǒng)(HadoopDistributedFileSystem),簡稱HDFS。HDFS有著高容錯性(fault-tolerent)的特點,并且設(shè)計用來部署在低廉的(low-cost)硬件上。而且它提供高傳輸率(highthroughput)來訪問應用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(largedataset)的應用程序。HDFS放寬了(relax)POSIX的要求(requirements)這樣可以流的形式訪問(streamingaccess)文件系統(tǒng)中的數(shù)據(jù)。
Hadoop結(jié)構(gòu)示意圖
在Hadoop的系統(tǒng)中,會有一臺Master,主要負責NameNode的工作以及JobTracker的工作。JobTracker的主要職責就是啟動、跟蹤和調(diào)度各個Slave的任務執(zhí)行。還會有多臺Slave,每一臺Slave通常具有DataNode的功能并負責TaskTracker的工作。TaskTracker根據(jù)應用要求來結(jié)合本地數(shù)據(jù)執(zhí)行Map任務以及Reduce任務。
說到這里,就要提到分布式計算最重要的一個設(shè)計點:MovingComputationisCheaperthanMovingData。就是在分布式處理中,移動數(shù)據(jù)的代價總是高于轉(zhuǎn)移計算的代價。簡單來說就是分而治之的工作,需要將數(shù)據(jù)也分而存儲,本地任務處理本地數(shù)據(jù)然后歸總,這樣才會保證分布式計算的高效性。
為什么要選擇Hadoop?
說完了What,簡單地說一下Why。官方網(wǎng)站已經(jīng)給了很多的說明,這里就大致說一下其優(yōu)點及使用的場景(沒有不好的工具,只用不適用的工具,因此選擇好場景才能夠真正發(fā)揮分布式計算的作用):
可擴展:不論是存儲的可擴展還是計算的可擴展都是Hadoop的設(shè)計根本。
經(jīng)濟:框架可以運行在任何普通的PC上。
可靠:分布式文件系統(tǒng)的備份恢復機制以及MapReduce的任務監(jiān)控保證了分布式處理的可靠性。
高效:分布式文件系統(tǒng)的高效數(shù)據(jù)交互實現(xiàn)以及MapReduce結(jié)合LocalData處理的模式,為高效處理海量的信息作了基礎(chǔ)準備。
使用場景:個人覺得最適合的就是海量數(shù)據(jù)的分析,其實Google最早提出MapReduce也就是為了海量數(shù)據(jù)分析。同時HDFS最早是為了搜索引擎實現(xiàn)而開發(fā)的,后來才被用于分布式計算框架中。海量數(shù)據(jù)被分割于多個節(jié)點,然后由每一個節(jié)點并行計算,將得出的結(jié)果歸并到輸出。同時***階段的輸出又可以作為下一階段計算的輸入,因此可以想象到一個樹狀結(jié)構(gòu)的分布式計算圖,在不同階段都有不同產(chǎn)出,同時并行和串行結(jié)合的計算也可以很好地在分布式集群的資源下得以高效的處理。本節(jié)關(guān)于Hadoop的介紹完畢,請關(guān)注本節(jié)其他相關(guān)報道。
【編輯推薦】
- 開源框架Hadoop實現(xiàn)分布式計算
- 技術(shù)分享 Hadoop集群搭建方法
- Hadoop集群與Hadoop性能優(yōu)化
- HadoopHBase實現(xiàn)配置簡單的單機環(huán)境
- Hadoop機架感知及啟動停止方法詳解