国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談大數(shù)據(jù)下的Hadoop分布式架構(gòu)

2016-03-22 13:31劉斌閆佳陳興
電腦知識(shí)與技術(shù) 2016年1期
關(guān)鍵詞:鍵值客戶端分布式

劉斌++閆佳++陳興

摘要:隨著信息技術(shù)的迅猛發(fā)展,各行業(yè)產(chǎn)生的數(shù)據(jù)呈爆炸性的增長(zhǎng),而這些數(shù)據(jù)已遠(yuǎn)超過(guò)了傳統(tǒng)的計(jì)算技術(shù)與信息系統(tǒng)的處理能力。實(shí)現(xiàn)大數(shù)據(jù)的研究,以有效的信息技術(shù)的手段和計(jì)算方法,獲取、處理和分析各行業(yè)的大數(shù)據(jù)發(fā)現(xiàn)潛在的價(jià)值意義重大。該文就主要就是針對(duì)大數(shù)據(jù)下的Hadoop分布式架構(gòu)的討論。

關(guān)鍵詞:大數(shù)據(jù);Hadoop分布式架構(gòu);HDFS分布式文件系統(tǒng);MapReduce并行計(jì)算框架

中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)01-0007-02

1 大數(shù)據(jù)的相關(guān)介紹

1.1 大數(shù)據(jù)的概念

大數(shù)據(jù)(Big Data),或稱巨量資料,指的是所涉及的資料量巨大到無(wú)法通過(guò)目前主流的軟件工具在合理時(shí)間內(nèi)達(dá)到擷取、管理、處理,并整理成為幫助企業(yè)經(jīng)營(yíng)決策更積極目的的資訊。大數(shù)據(jù)不同于集中在一個(gè)磁盤陣列中的海量數(shù)據(jù)集合。大數(shù)據(jù)是由分布存儲(chǔ)在集群節(jié)點(diǎn)中多個(gè)單節(jié)點(diǎn)的磁盤空間中能被進(jìn)行分布式處理的數(shù)據(jù)構(gòu)成的一個(gè)數(shù)據(jù)總體。大數(shù)據(jù)的規(guī)模可以隨著節(jié)點(diǎn)數(shù)量的不斷增加而不斷擴(kuò)大。大數(shù)據(jù)的價(jià)值在于基于人們歷史產(chǎn)生的各類數(shù)據(jù)可以產(chǎn)生出新的有價(jià)值的信息。

1.2 大數(shù)據(jù)的特點(diǎn)

1)大體量(Volume):大數(shù)據(jù)是指數(shù)據(jù)量非常龐大,其龐大體現(xiàn)在數(shù)據(jù)存儲(chǔ)量大、計(jì)算量大。

2)時(shí)效性(Velocity):大數(shù)據(jù)是指在數(shù)據(jù)不斷增長(zhǎng),增長(zhǎng)速度快,數(shù)據(jù)在存儲(chǔ)、傳輸時(shí)的處理速度快。

3)多樣性(Variety)大數(shù)據(jù)可以結(jié)構(gòu)化的表單,半結(jié)構(gòu)的文本、視頻、圖像、語(yǔ)音以及非結(jié)構(gòu)化的文件。

4)大價(jià)值(Value):在大量的數(shù)據(jù)中有價(jià)信息是很少的,但這些有價(jià)信息是通過(guò)分析挖掘才能夠發(fā)現(xiàn)的。雖然價(jià)值密度低,但其商業(yè)價(jià)值高。

2 Hadoop分布式系統(tǒng)的介紹

2.1 Hadoop系統(tǒng)

Hadoop是Apache基金會(huì)下的一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架,具有可靠、高效、可伸縮的數(shù)據(jù)處理特點(diǎn)。硬件角度看,Hadoop系統(tǒng)是應(yīng)用于普通的商用服務(wù)器集群的分布式存儲(chǔ)和并行計(jì)算系統(tǒng)。軟件角度看,Hadoop系統(tǒng)包括分布式存存儲(chǔ)和并行計(jì)算兩個(gè)部分。如圖1所示:系統(tǒng)的架構(gòu)圖。

圖1 Hadoop系統(tǒng)分布式存儲(chǔ)與并行計(jì)算構(gòu)架

2.2 HDFS分布式文件系統(tǒng)

(1)HDFS系統(tǒng)邏輯架構(gòu)

HDFS是一個(gè)多層次的架構(gòu),基于主從模式進(jìn)行管理,采用遠(yuǎn)程過(guò)程通訊即RPC來(lái)實(shí)現(xiàn)層間的交互。

HDFS由客戶端層、名稱節(jié)點(diǎn)層和數(shù)據(jù)節(jié)點(diǎn)層三個(gè)層次構(gòu)成。

客戶端層通過(guò)HDFS提供一個(gè)文件系統(tǒng)接口,通過(guò)名稱節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)的交互來(lái)讀寫HDFS的文件系統(tǒng)。客戶端首先從名稱節(jié)點(diǎn)(NameNode)上獲得文件數(shù)據(jù)塊的位置列表,然后直接從數(shù)據(jù)節(jié)點(diǎn)上讀取文件數(shù)據(jù),NameNode不參與文件的傳輸。

名稱節(jié)點(diǎn)層主要由名稱節(jié)點(diǎn)服務(wù)器和二級(jí)名稱節(jié)點(diǎn)構(gòu)成。NameNode執(zhí)行文件系統(tǒng)的命名操作。二級(jí)名稱節(jié)點(diǎn)Secondary NameNode主要輔助NameNode處理鏡像文件和事務(wù)日志,他會(huì)定期從NameNode上復(fù)制鏡像文件和事務(wù)日志到臨時(shí)目錄,合并生成新的日志文件后重新上傳到NameNode上。

數(shù)據(jù)節(jié)點(diǎn)層主要是由多個(gè)數(shù)據(jù)節(jié)點(diǎn)構(gòu)成。DataNode負(fù)責(zé)處理客戶的讀/寫請(qǐng)求,依照NameNode的命令,來(lái)執(zhí)行數(shù)據(jù)塊的創(chuàng)建、復(fù)制、刪除等工作。

(2)HDFS系統(tǒng)物理架構(gòu)

HDFS的典型部署方式是在兩個(gè)專門的服務(wù)器上運(yùn)行NameNode和Secondary NameNode,再將DataNode安裝在以機(jī)架位單位的多組機(jī)架的機(jī)器上。一個(gè)集群只有一個(gè)NameNode。

2.3 MapReduce并行計(jì)算框架

MapReduce是一種分布式軟件編程框架,其運(yùn)行依賴于分布式作業(yè)系統(tǒng)。分布式作業(yè)系統(tǒng)也是主從模式的,它由一個(gè)作業(yè)節(jié)點(diǎn)(JobTracker)和多個(gè)任務(wù)節(jié)點(diǎn)(TaskTracker)構(gòu)成。MapReduce向作業(yè)端發(fā)出一個(gè)數(shù)據(jù)處理請(qǐng)求,作業(yè)主節(jié)點(diǎn)接收到請(qǐng)求后,會(huì)將MapReduce的程序代碼經(jīng)網(wǎng)絡(luò)傳輸?shù)蕉鄠€(gè)作業(yè)節(jié)點(diǎn),由多個(gè)作業(yè)節(jié)點(diǎn)調(diào)用MapReduce程序?qū)Ρ镜氐臄?shù)據(jù)進(jìn)行處理。

(1)設(shè)計(jì)思路

MapReduce編程模式設(shè)計(jì)遵循“分而治之、移動(dòng)邏輯、屏蔽底層、處理定制”的設(shè)計(jì)思想。

分而治之是將大規(guī)模的數(shù)據(jù)分拆成N個(gè)數(shù)據(jù)塊部分,由一個(gè)主節(jié)點(diǎn)將MapReduce函數(shù)分發(fā)到各個(gè)數(shù)據(jù)塊的分支節(jié)點(diǎn)上去運(yùn)行,然后通過(guò)合并各分支節(jié)點(diǎn)的結(jié)果來(lái)得到最終結(jié)果。MapReduce并行計(jì)算模型如圖2所示。

圖2 MapReduce并行編程模型

2)基本概念

字面上看,map是映射,reduce是化簡(jiǎn),而邏輯上講,map即分析,reduce即歸納。Map函數(shù)是面向部分的分析,而reduce是面向整體的歸納,map函數(shù)對(duì)應(yīng)分布式的可處理特性,reduce函數(shù)對(duì)應(yīng)分布式的可和并特性。

1)map()函數(shù)

map()函數(shù)的輸入數(shù)據(jù)是由任務(wù)節(jié)點(diǎn)分配的預(yù)先已分割成固定大小的數(shù)據(jù)片段(splits),Hadoop會(huì)對(duì)每一個(gè)splits創(chuàng)建map任務(wù),此任務(wù)是調(diào)用map()函數(shù)對(duì)源鍵值對(duì)的鍵和值根據(jù)定義的規(guī)則進(jìn)行處理,生成中間值鍵值對(duì)。若將源鍵值對(duì)抽象為,那么中間值鍵值對(duì)會(huì)被抽象為。

(2)reduce()函數(shù)

reduce()函數(shù)的輸入數(shù)據(jù)是由節(jié)任務(wù)點(diǎn)把不同的map任務(wù)輸出的中間數(shù)組整合起來(lái)并行排序而產(chǎn)生的,然后調(diào)用用戶自定義的reduce()函數(shù),對(duì)輸入的鍵值對(duì)進(jìn)行處理,得到鍵值對(duì),并將最終結(jié)果輸出到HDFS上。

3)運(yùn)行機(jī)制

MapReduce的map任務(wù)和reduce任務(wù)都是在JobTracker的統(tǒng)一調(diào)度下由TaskTracker來(lái)執(zhí)行的。而任務(wù)從發(fā)起到執(zhí)行返回,一切都是源于MapReduce提交作業(yè)的那一刻。在作業(yè)提交到JobTracker服務(wù)器的過(guò)程中,JobTracker提供給MR客戶端JobClient 的runjob做了大量的工作。整個(gè)MapReduce運(yùn)行時(shí)序關(guān)系圖如圖3所示。

圖3 MapReduce運(yùn)行時(shí)序關(guān)系圖

1)首先,用戶程序客戶端通過(guò)作業(yè)客戶端接口程序JobClient提交一個(gè)用戶程序。

2)JobClient向JobTracker提交作業(yè)執(zhí)行請(qǐng)求獲得一個(gè)JobID.

3)JobClient同時(shí)也會(huì)將用戶程序作業(yè)和待處理的數(shù)據(jù)文件信息準(zhǔn)備好并存儲(chǔ)在HDFS中。

4)JobClient正式向JobTracker提交和執(zhí)行該作業(yè)。

5)JobTracker接收并調(diào)動(dòng)該作業(yè),進(jìn)行作業(yè)的初始化準(zhǔn)備工作,根據(jù)待處理數(shù)據(jù)的實(shí)際分片情況,調(diào)度和分配一定的Map節(jié)點(diǎn)來(lái)完成作業(yè)。

6)JobTracker查詢作業(yè)中的數(shù)據(jù)分片信息,構(gòu)建并準(zhǔn)備相應(yīng)的任務(wù)。

7)JobTracker啟動(dòng)TaskTracker節(jié)點(diǎn)開(kāi)始執(zhí)行具體的任務(wù)。

8)TaskTracker根據(jù)所分配的具體任務(wù),獲取相應(yīng)的作業(yè)和數(shù)據(jù)。

9)TaskTracker節(jié)點(diǎn)創(chuàng)建Java虛擬機(jī),并啟動(dòng)相應(yīng)的Map任務(wù)(或者Reduce任務(wù))的執(zhí)行。

10)TaskTracker執(zhí)行所分配的任務(wù)之后,若是Map任務(wù),則把中間結(jié)果數(shù)據(jù)輸出到HDFS中;若是Reduce任務(wù),則輸出最終結(jié)果。

3 總結(jié)

在當(dāng)代,我們已經(jīng)被海量的數(shù)據(jù)包圍。要從這些數(shù)據(jù)中提取出有價(jià)值的信息,就需要提供底層細(xì)節(jié)透明的分布式基礎(chǔ)設(shè)施。HDFS的高容錯(cuò)性、高伸縮性等優(yōu)點(diǎn),允許將Hadoop部署到廉價(jià)的硬件上,構(gòu)建分布式系統(tǒng);MapReduce分布式計(jì)算框架可以再不了解分布式系統(tǒng)底層細(xì)節(jié)的情況下開(kāi)發(fā)并行、分布的應(yīng)用程序,重復(fù)利用大規(guī)模的計(jì)算資源。

參考文獻(xiàn):

[1] 陳如明.大數(shù)據(jù)時(shí)代的挑戰(zhàn)、價(jià)值與應(yīng)用對(duì)策[J].移動(dòng)通信,2012(17).

[2] 成靜靜,喻朝新.基于云計(jì)算的大數(shù)據(jù)同意分析平臺(tái)研究與設(shè)計(jì)[J].廣東通信技術(shù),2013(3).

[3] 鄭啟龍,房明,汪勝.基于MapReduce模型的并行科學(xué)計(jì)算[J].微電子與計(jì)算機(jī),2009(8).

[4] 高洪,楊慶平,黃震江.基于Hadoop平臺(tái)的大數(shù)據(jù)分析關(guān)鍵技術(shù)標(biāo)準(zhǔn)化探討[J].信息技術(shù)與標(biāo)準(zhǔn)化,2013(5).

猜你喜歡
鍵值客戶端分布式
縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
孵化垂直頻道:新聞客戶端新策略
基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
基于DDS的分布式三維協(xié)同仿真研究
西門子 分布式I/O Simatic ET 200AL
客戶端空間數(shù)據(jù)緩存策略
注冊(cè)表值被刪除導(dǎo)致文件夾選項(xiàng)成空白
“掃除”技巧之清除惡意程序
北辰区| 正阳县| 白河县| 棋牌| 城口县| 沭阳县| 湄潭县| 当涂县| 安阳市| 汉源县| 连山| 凌源市| 中牟县| 马龙县| 治多县| 临潭县| 衡水市| 通河县| 武冈市| 东至县| 杭州市| 梨树县| 和田市| 北碚区| 临泉县| 新宾| 南雄市| 景德镇市| 阳原县| 桃江县| 潞城市| 内黄县| 祥云县| 巴林左旗| 新龙县| 胶州市| 遵义市| 临西县| 吴堡县| 巴马| 江川县|