Hadoop1.0的示例分析

這篇文章主要介紹了Hadoop1.0的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、岳普湖網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為岳普湖等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

Hadoop背景介紹

Apache Hadoop 是一個(gè)開源軟件框架,可安裝在一個(gè)商用機(jī)器集群中,使機(jī)器可彼此通信并協(xié)同工作,以高度分布式的方式共同存儲(chǔ)和處理大量數(shù)據(jù)。

最初,Hadoop 包含以下兩個(gè)主要組件:Hadoop Distributed File System (HDFS) 和一個(gè)分布式計(jì)算引擎,該引擎支持以 MapReduce 作業(yè)的形式實(shí)現(xiàn)和運(yùn)行程序。

MapReduce 是 Google 推廣的一個(gè)簡單的編程模型,它對(duì)以高度并行和可擴(kuò)展的方式處理大數(shù)據(jù)集很有用。MapReduce 的靈感來源于函數(shù)式編程,用戶可將他們的計(jì)算表達(dá)為 map 和 reduce 函數(shù),將數(shù)據(jù)作為鍵值對(duì)來處理。Hadoop 提供了一個(gè)高級(jí) API 來在各種語言中實(shí)現(xiàn)自定義的 map 和 reduce 函數(shù)。

Hadoop 還提供了軟件基礎(chǔ)架構(gòu),以一系列 map 和 reduce 任務(wù)的形式運(yùn)行 MapReduce 作業(yè)。Map 任務(wù) 在輸入數(shù)據(jù)的子集上調(diào)用 map 函數(shù)。在完成這些調(diào)用后,reduce 任務(wù) 開始在 map 函數(shù)所生成的中間數(shù)據(jù)上調(diào)用 reduce 任務(wù),生成最終的輸出。 map 和 reduce 任務(wù)彼此單獨(dú)運(yùn)行,這支持并行和容錯(cuò)的計(jì)算。

最重要的是,Hadoop 基礎(chǔ)架構(gòu)負(fù)責(zé)處理分布式處理的所有復(fù)雜方面:并行化、調(diào)度、資源管理、機(jī)器間通信、軟件和硬件故障處理,等等。得益于這種干凈的抽象,實(shí)現(xiàn)處理數(shù)百(或者甚至數(shù)千)個(gè)機(jī)器上的數(shù) TB 數(shù)據(jù)的分布式應(yīng)用程序從未像現(xiàn)在這么容易過,甚至對(duì)于之前沒有使用分布式系統(tǒng)的經(jīng)驗(yàn)的開發(fā)人員也是如此。

Hadoop 的黃金時(shí)代

盡管 MapReduce 模型存在著多種開源實(shí)現(xiàn),但 Hadoop MapReduce 很快就變得非常流行。Hadoop 也是全球最令人興奮的開源項(xiàng)目之一,它提供了多項(xiàng)出色的功能:高級(jí) API、近線性的可伸縮性、開源許可、在商用硬件上運(yùn)行的能力,以及容錯(cuò)。它已獲得數(shù)百(或許已達(dá)數(shù)千)個(gè)公司的成功部署,是大規(guī)模分布式存儲(chǔ)和處理的最新標(biāo)準(zhǔn)。

一些早期的 Hadoop 采用者,比如 Yahoo! 和 Facebook,構(gòu)建了包含 4,000 個(gè)節(jié)點(diǎn)的大型集群,以滿足不斷增長和變化的數(shù)據(jù)處理需求。但是,在構(gòu)建自己的集群后,他們開始注意到了 Hadoop MapReduce 框架的一些局限性。

經(jīng)典 MapReduce 的局限性

經(jīng)典 MapReduce 的最嚴(yán)重的限制主要關(guān)系到可伸縮性、資源利用和對(duì)與 MapReduce 不同的工作負(fù)載的支持。在 MapReduce 框架中,作業(yè)執(zhí)行受兩種類型的進(jìn)程控制:

1. 一個(gè)稱為 JobTracker 的主要進(jìn)程,它協(xié)調(diào)在集群上運(yùn)行的所有作業(yè),分配要在 TaskTracker 上運(yùn)行的 map 和 reduce 任務(wù)。

2. 許多稱為 TaskTracker 的下級(jí)進(jìn)程,它們運(yùn)行分配的任務(wù)并定期向 JobTracker 報(bào)告進(jìn)度。

Apache Hadoop 的經(jīng)典版本 (MRv1)

Hadoop1.0的示例分析

大型的 Hadoop 集群顯現(xiàn)出了由單個(gè) JobTracker 導(dǎo)致的可伸縮性瓶頸。依據(jù) Yahoo!,在集群中有 5,000 個(gè)節(jié)點(diǎn)和 40,000 個(gè)任務(wù)同時(shí)運(yùn)行時(shí),這樣一種設(shè)計(jì)實(shí)際上就會(huì)受到限制。由于此限制,必須創(chuàng)建和維護(hù)更小的、功能更差的集群。

此外,較小和較大的 Hadoop 集群都從未最高效地使用他們的計(jì)算資源。在 Hadoop MapReduce 中,每個(gè)從屬節(jié)點(diǎn)上的計(jì)算資源由集群管理員分解為固定數(shù)量的 map 和 reduce slot,這些 slot 不可替代。設(shè)定 map slot 和 reduce slot 的數(shù)量后,節(jié)點(diǎn)在任何時(shí)刻都不能運(yùn)行比 map slot 更多的 map 任務(wù),即使沒有 reduce 任務(wù)在運(yùn)行。這影響了集群的利用率,因?yàn)樵谒?map slot 都被使用(而且我們還需要更多)時(shí),我們無法使用任何 reduce slot,即使它們可用,反之亦然。

最后但同樣重要的是,Hadoop 設(shè)計(jì)為僅運(yùn)行 MapReduce 作業(yè)。隨著替代性的編程模型(比如 Apache Giraph 所提供的圖形處理)的到來,除 MapReduce 外,越來越需要為可通過高效的、公平的方式在同一個(gè)集群上運(yùn)行并共享資源的其他編程模型提供支持。

2010 年,Yahoo! 的工程師開始研究一種全新的 Hadoop 架構(gòu),用這種架構(gòu)來解決上述所有限制并增加多種附加功能。

Apache Hadoop 2.0 包含 YARN,它將資源管理和處理組件分開?;?YARN 的架構(gòu)不受 MapReduce 約束。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Hadoop1.0的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

名稱欄目:Hadoop1.0的示例分析
瀏覽地址:http://muchs.cn/article8/gjgdop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、服務(wù)器托管網(wǎng)站營銷、App設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)