• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Hadoop的計(jì)算機(jī)分布式存儲(chǔ)與數(shù)據(jù)分發(fā)設(shè)計(jì)

      2020-02-21 08:49:18趙穎
      電子技術(shù)與軟件工程 2020年13期

      摘要:本文以Hadoop的計(jì)算機(jī)分布式存儲(chǔ)與數(shù)據(jù)分發(fā)設(shè)計(jì)為研究對(duì)象,首先簡(jiǎn)單介紹了何為Hadoop,并分析了其工作流程,隨后探討分析了基于Hadoop的計(jì)算機(jī)分布式存儲(chǔ)策略,最后對(duì)基于Hadoop的數(shù)據(jù)分發(fā)策略應(yīng)用進(jìn)行了探討分析,以供參考。

      關(guān)鍵詞:Hadoop系統(tǒng);分布式存儲(chǔ)策略;數(shù)據(jù)分發(fā)設(shè)計(jì)

      在互聯(lián)網(wǎng)飛速發(fā)展的當(dāng)下,未來(lái)人們更加傾向于移動(dòng)聯(lián)網(wǎng)設(shè)備的攜帶,從而為人們工作學(xué)習(xí)與生活提供更多的便利。而通過(guò)將Hadoop的計(jì)算機(jī)分布式存儲(chǔ)與數(shù)據(jù)分發(fā)設(shè)計(jì)應(yīng)用于移動(dòng)設(shè)備之中,能夠提升移動(dòng)設(shè)備文件讀取效率,避免出現(xiàn)網(wǎng)絡(luò)堵塞問(wèn)題,有效降低網(wǎng)絡(luò)資源損耗。

      1

      Hadoop的概述和工作流程

      1.1 Hadoop的概述

      Hadoop最初由“阿帕奇”基金會(huì)所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu),這是一種當(dāng)前比較常見(jiàn)的分布式系統(tǒng)基礎(chǔ)框架,在很多硬件設(shè)備組成集群上有著廣泛的應(yīng)用,不僅如此,Hadoop還能夠在應(yīng)用程序進(jìn)行,可以為程序運(yùn)轉(zhuǎn)提供一組更穩(wěn)定的接口,從而使分布式系統(tǒng)得可靠性加強(qiáng),還有非常好的擴(kuò)展性。組成它的內(nèi)容很多,有HDFS、Map、Reduce、HBase等。在Hadoop中主要包括:HDFS(分布式文件系統(tǒng))、MapReduce(并行編程計(jì)算模型)、HBase(分布式數(shù)據(jù)庫(kù))、Zookeeper(分布式服務(wù)框架)以及Hive(數(shù)據(jù)倉(cāng)庫(kù)),其中核心設(shè)計(jì)是為海量數(shù)據(jù)提供存儲(chǔ)的HDFS及為海量數(shù)據(jù)提供并行計(jì)算的MapReduce。

      1.2 MapReduce編程模型

      組成Hadoop的Map Reduce編程模型最初是谷歌提出的,主要是對(duì)大規(guī)模集群專門進(jìn)行海量數(shù)據(jù)處理的并行計(jì)算模型、處理的過(guò)程其實(shí)就是MapReduce把一堆雜亂無(wú)章的數(shù)據(jù)在處理過(guò)程中按照某種特征歸納起來(lái),然后經(jīng)過(guò)并行處理最后得到最終結(jié)果。而這期間Map的階段所要面對(duì)的是一些互不相關(guān),雜亂無(wú)章的數(shù)據(jù),所以在這個(gè)階段就需要對(duì)每個(gè)數(shù)據(jù)進(jìn)行解析,從而提取出數(shù)據(jù)的一些特征。然后經(jīng)Map Reduce的Shuffle的階段以后,在后面進(jìn)行的Reduc階段就可以得到已經(jīng)按照數(shù)據(jù)的某種特征進(jìn)行歸納的數(shù)據(jù),后面的處理就是在此基礎(chǔ)上做進(jìn)一步的并行處理就可得出結(jié)論。

      而且MapReduce在執(zhí)行作業(yè)的時(shí)候主要?dú)v經(jīng)了對(duì)數(shù)據(jù)塊進(jìn)行分割、創(chuàng)建任務(wù)、Map、Combiner、Shuffle、Reduce幾個(gè)過(guò)程,在此流程中我們可以得出MapReduce可簡(jiǎn)化分布式編程工作,如果是在使用默認(rèn)輸入、輸出的數(shù)據(jù)格式,開發(fā)人員只需編寫Map和Reduce兩個(gè)函數(shù)就可以對(duì)海量的數(shù)據(jù)進(jìn)行并行分析。

      1.3 HDFS文件系統(tǒng)

      HDFS文件系統(tǒng)是由Hadoop實(shí)現(xiàn)的分布式文件系統(tǒng)。主要是專門負(fù)責(zé)對(duì)存儲(chǔ)Hadoop集群上的數(shù)據(jù)進(jìn)行存儲(chǔ)、管理、冗余備份和出錯(cuò)恢復(fù)的相關(guān)處理。HDFS具有高容錯(cuò)性和高擴(kuò)展性,而且可以設(shè)計(jì)部署在低廉硬件組成的集群上,同時(shí)還可以提供高吞吐量對(duì)應(yīng)用程序的數(shù)據(jù)進(jìn)行訪問(wèn),此外還可以提供流式數(shù)據(jù)的訪問(wèn)模式讀寫超大文件,還可以很好的適用那些有著海量數(shù)據(jù)集的應(yīng)用程序。HDFS文件系統(tǒng)的特點(diǎn)主要有:

      (1)能滿足超大規(guī)模的數(shù)據(jù)集需求;

      (2)可以容許節(jié)點(diǎn)失效發(fā)生;

      (3)擴(kuò)展性很強(qiáng);

      (4)在存儲(chǔ)文件是能夠?qū)⑽募指畛蓴?shù)個(gè)數(shù)據(jù)塊。

      1.4 Hadop的工作流程

      Hadop工作流程如下:

      (1)進(jìn)行數(shù)據(jù)模塊的分割,由Map Reduce負(fù)責(zé)數(shù)據(jù)處理,這些數(shù)據(jù)全部來(lái)源于HDFS,在進(jìn)行計(jì)算前,需要先做好數(shù)據(jù)的分塊。

      (2)進(jìn)行任務(wù)創(chuàng)建。需要先進(jìn)行Job提交,在Job Tracker獲取到相應(yīng)提交數(shù)據(jù)后,便會(huì)為本次任務(wù)進(jìn)行Map Task與ReduceTask的分配,并提交至Task Tracker。

      (3)經(jīng)歷Map過(guò)程。在每個(gè)Datanode中,都運(yùn)行有一個(gè)Task Tracker,其為負(fù)責(zé)進(jìn)行Map任務(wù)的執(zhí)行。在具體執(zhí)行過(guò)程中,Map Task會(huì)先進(jìn)行數(shù)據(jù)的讀取,然后借助Map函數(shù)進(jìn)行計(jì)算,在輸出中間結(jié)果后,會(huì)存放至本地磁盤之中,或者直接讀取至內(nèi)存之中。

      (4)需要經(jīng)歷Combiner過(guò)程。在上述過(guò)程中,會(huì)有很多中間結(jié)果產(chǎn)出,通常不能將其直接交由Reduce Task進(jìn)行處理,否則將會(huì)大大增加網(wǎng)絡(luò)擁塞的概率。而通過(guò)Combiner過(guò)程,能夠統(tǒng)一合并這些結(jié)果,便于后續(xù)進(jìn)行集中處理。

      (5) Shuffie過(guò)程。該過(guò)程需要將數(shù)據(jù)從Map Task輸出至Reduce Task。

      (6) Reduce過(guò)程。該過(guò)程會(huì)將Map Task的數(shù)據(jù)輸送至Reduce函數(shù),在完成數(shù)據(jù)歸并后可獲得最終結(jié)果。待整個(gè)Job執(zhí)行完畢后,將會(huì)把獲得結(jié)果存儲(chǔ)至HDFS之中[1]。

      HDFS寫文件時(shí)的步驟如下:

      (1)首先在客戶端調(diào)用DistrbuteFileSystem對(duì)象中的函數(shù)Create來(lái)創(chuàng)建一個(gè)用于寫入數(shù)據(jù)的文件。

      (2)通過(guò)調(diào)用RPC在Namenode文件系統(tǒng)的namespace來(lái)創(chuàng)建一個(gè)新的文件。

      (3)在客戶端寫入文件。

      (4)在列表中的Datanode中形成一個(gè)管道,然后通過(guò)DataStreamer將數(shù)據(jù)塊以數(shù)據(jù)流的形式傳輸?shù)焦芫€中的每個(gè)Datanode中。

      (5) DFSOutputStream維護(hù)了一個(gè)ACK隊(duì)列,當(dāng)收到管道中Datanode返回的Ack隊(duì)列以后,所對(duì)應(yīng)的數(shù)據(jù)塊才會(huì)從隊(duì)列當(dāng)中進(jìn)行刪除。

      (6)在完成寫入文件后,進(jìn)行Close函數(shù)的調(diào)用,完成寫入管道的關(guān)閉操作,此時(shí)整個(gè)HDFS的寫入結(jié)束。

      HDFS的讀取相對(duì)于寫入過(guò)程要簡(jiǎn)單很多。

      2 基于Hadoop的計(jì)算機(jī)分布式存儲(chǔ)策略

      2.1 SR策略

      在該策略中,基本思想為:RS(14,10)碼為基本,再加兩個(gè)本地校驗(yàn)塊,就可以很好的完成本地修復(fù)。所謂的SR碼,指的是本地可修復(fù)碼,這是一類新的再生碼。SR策略與RS策略比較相似,同樣是先分解原文件,需要將其分成10塊,然后在二元擴(kuò)域上編碼SR的幫助下,生成4個(gè)校驗(yàn)塊,它們分別是P1、P2、P3、P4。然后通過(guò)異或的運(yùn)算,能夠生成S1、S2、S3 3個(gè)本地校驗(yàn)塊,這三個(gè)本地檢驗(yàn)快的關(guān)系是S3-S1+S2,這樣來(lái),就可減少存儲(chǔ)一個(gè)校驗(yàn)數(shù)據(jù)塊,而且系統(tǒng)存儲(chǔ)效率也會(huì)得到有效提升。在SR策略中,共包含三個(gè)本地組:其中一組可以用X1、X2、X3、X4、X5、S1來(lái)表示,二組在具體表示方面,可以采用:X6、X7、X8、X9、X10、S2。三組則是S1、S2、P1、P2、P3、P4。在進(jìn)行實(shí)際修復(fù)時(shí),SR策略包含兩種,一是有輕修復(fù),二是重修復(fù),前者適用于本地組中只有任意1個(gè)數(shù)據(jù)塊丟失的場(chǎng)景,能夠通過(guò)訪問(wèn)本地組中其他的數(shù)據(jù)節(jié)點(diǎn),并完成相應(yīng)數(shù)據(jù)塊的下載,通過(guò)在異或運(yùn)算的幫助下完成本地修復(fù)。后者適用于在一個(gè)本地組中存在兩塊以上的數(shù)據(jù)塊失效的場(chǎng)景,修復(fù)整個(gè)過(guò)程和RS策略是比較類似的,還有需通過(guò)RS解碼,才能夠完成修復(fù)、在SR策略中。輕修復(fù)能夠適用于所有單個(gè)數(shù)據(jù)塊修復(fù)工作,并且大多數(shù)兩個(gè)數(shù)據(jù)塊的修復(fù)我們也可采用第一種修復(fù)方式,甚至于在有些運(yùn)行三個(gè)數(shù)據(jù)塊修復(fù)的時(shí)候,也可采用第一種修復(fù)方式。在SR策略中,輕修復(fù)一般占用的計(jì)算開銷比較小,重修復(fù)占用的計(jì)算開銷比較大。

      從可靠性的穩(wěn)定方面來(lái)考慮,通常是在一個(gè)掃描周期內(nèi),如果存在不能通過(guò)重解碼修復(fù)的時(shí)候,就會(huì)存在原文件的失效,那原文件的可靠和之前的公式1是比較類似的,而且比公式1會(huì)略微小一些。但是由于策略一般很難滿足MDS的相關(guān)性質(zhì),所以在遇到如果丟失的數(shù)據(jù)塊存在5塊或者6塊這種極少發(fā)生的情況時(shí),一般采用SR策略將會(huì)無(wú)法修復(fù),公式(1)如下所示:

      2.2 XOR策略

      在這個(gè)策略當(dāng)中,需分解原文件,具體也是將原文件分為十個(gè)數(shù)據(jù)塊,然后再采用異或算法生成一塊校驗(yàn)數(shù)據(jù)塊,因此在實(shí)際存儲(chǔ)中,會(huì)有11塊數(shù)據(jù)塊系統(tǒng)中,那么對(duì)于系統(tǒng)存儲(chǔ)開銷而言,則是原文件的1.1倍。當(dāng)出現(xiàn)數(shù)據(jù)塊丟失的情況時(shí),需要對(duì)其他10塊數(shù)據(jù)塊進(jìn)行訪問(wèn),并在異或運(yùn)算的幫助下,完成數(shù)據(jù)修復(fù)。該策略的計(jì)算開銷通常比較小。

      從可靠性的穩(wěn)定方面來(lái)考慮,在掃描的一個(gè)周期內(nèi),n塊數(shù)據(jù)塊中,假如存在任意兩塊丟失這種情況,那么就會(huì)導(dǎo)致原文件的失效,那么則原文件的可靠性可用公式(2)表示:

      2.3 RS策略

      在糾刪碼中,RS碼非常常見(jiàn),本身容錯(cuò)和糾錯(cuò)能力比較強(qiáng),在數(shù)字電視傳輸及衛(wèi)星通信等領(lǐng)域中有著較為廣泛的應(yīng)用。近些年RS碼開始在分布式存儲(chǔ)領(lǐng)域應(yīng)用場(chǎng)景中“嶄露頭角”。該策略在實(shí)際應(yīng)用方面,同樣需要進(jìn)行原文件分解,分解的數(shù)據(jù)塊為10個(gè),然后通過(guò)RS編碼可以由4個(gè)校驗(yàn)數(shù)據(jù)塊,這就對(duì)系統(tǒng)存儲(chǔ)而言,在其整體開銷上會(huì)成為是原文件的1.4倍。在有數(shù)據(jù)塊丟失這樣的問(wèn)題出現(xiàn)后,可以通過(guò)對(duì)其他10塊數(shù)據(jù)塊進(jìn)行任意訪問(wèn),就可以實(shí)現(xiàn)解碼修復(fù),由于在整個(gè)修復(fù)過(guò)程中需要進(jìn)行解碼操作,所以在實(shí)際中計(jì)算開銷就會(huì)變得很大,從而導(dǎo)致實(shí)際的系統(tǒng)設(shè)計(jì)會(huì)變得復(fù)雜而且多變。

      從穩(wěn)定可靠性方面來(lái)進(jìn)行考慮,在一個(gè)掃描周期內(nèi),若任意5塊數(shù)據(jù)塊丟失,導(dǎo)致原文件失效,那么原文件的可靠性可用以下公式(3)表示:

      2.4復(fù)制策略

      在分布式存儲(chǔ)系統(tǒng)中,復(fù)制策略是一種最為常見(jiàn)的存儲(chǔ)策略.這個(gè)策略的基本思想是:首先把原文件通過(guò)分解從而獲得多個(gè)數(shù)據(jù)塊,隨后針對(duì)分解獲得的每一個(gè)數(shù)據(jù)塊,都需給它進(jìn)行三個(gè)副本的備份,最后可以在不同的數(shù)據(jù)節(jié)點(diǎn)中對(duì)此進(jìn)行存儲(chǔ),這樣一來(lái),如果出現(xiàn)部分?jǐn)?shù)據(jù)節(jié)點(diǎn)失效,那么系統(tǒng)可以通過(guò)對(duì)其他備份數(shù)據(jù)節(jié)點(diǎn)訪問(wèn),從而獲取原文件或修復(fù)失效時(shí)的數(shù)據(jù)節(jié)點(diǎn)。從這里面我們能夠發(fā)現(xiàn),此時(shí)的存儲(chǔ)開銷會(huì)更大,通常是3倍的原文件大小。所以在遇到數(shù)據(jù)塊丟失這種狀況時(shí),通常系統(tǒng)可直接從有效的數(shù)據(jù)節(jié)點(diǎn)中進(jìn)行新備份數(shù)據(jù)節(jié)點(diǎn)的下載,而且在整個(gè)操作過(guò)程中不需要進(jìn)行解碼計(jì)算,因此整個(gè)設(shè)計(jì)是非常易于實(shí)現(xiàn)的[2]。

      從穩(wěn)定可靠性方面進(jìn)行考慮,在掃描的一個(gè)周期內(nèi),一般只有存在三個(gè)副本都丟失的情況,原文件才會(huì)達(dá)到失效的條件。那么從概率來(lái)分析,如果是針對(duì)一個(gè)數(shù)據(jù)塊,通常至少還會(huì)有一個(gè)副本能夠應(yīng)用的概率為1一(1-p)3,那么我們可作出如下假設(shè),原文件被分解為k塊,那么原文件可靠性P可用以下公式表示:

      3 基于的數(shù)據(jù)分發(fā)策略

      3.1 數(shù)據(jù)分法策略

      如今我們處于信息大爆炸時(shí)代,很多網(wǎng)站點(diǎn)擊、視頻點(diǎn)擊在短時(shí)間內(nèi)均會(huì)突破數(shù)百萬(wàn)甚至數(shù)千萬(wàn),當(dāng)用戶在集中進(jìn)行讀取這些文件時(shí),受分布式系統(tǒng)多次讀取特點(diǎn)影響,容易造成網(wǎng)絡(luò)堵塞,不利于文件可用性與可靠性提升。為有效解決這一問(wèn)題,我們可以在分布式存儲(chǔ)網(wǎng)絡(luò)的基礎(chǔ)上,嘗試與CND網(wǎng)絡(luò)進(jìn)行融合,將二者的優(yōu)點(diǎn)集中在一起,網(wǎng)絡(luò)中的每個(gè)用戶,我們可以視為一個(gè)“邊緣”數(shù)據(jù)節(jié)點(diǎn),不僅可以進(jìn)行存儲(chǔ)任務(wù)分擔(dān),還能將內(nèi)容發(fā)布至網(wǎng)絡(luò)邊緣,便于用戶能夠?qū)崿F(xiàn)數(shù)據(jù)的就近讀取,解決可能造成的網(wǎng)絡(luò)堵塞問(wèn)題。具體而言,首先在網(wǎng)絡(luò)不擁堵時(shí),可以先將文件的部分?jǐn)?shù)據(jù)塊提前向用戶進(jìn)行推送,以減輕后續(xù)集中文件讀取的壓力,通過(guò)在分布式系統(tǒng)中加入文件數(shù)據(jù)塊副本機(jī)制,隨機(jī)將其置于數(shù)據(jù)節(jié)點(diǎn)之中,有效分擔(dān)原節(jié)點(diǎn)網(wǎng)絡(luò)流量的壓力,有效緩解網(wǎng)絡(luò)堵塞的壓力。

      3.2 驗(yàn)證

      在具體驗(yàn)證過(guò)程中,可以通過(guò)應(yīng)用上面介紹的計(jì)算機(jī)分布式存儲(chǔ)策略來(lái)實(shí)現(xiàn),主要是可以應(yīng)用的有復(fù)制策略、XOR策略和RS策略。為什么沒(méi)有應(yīng)用SR策略,是因?yàn)樵摬呗缘男迯?fù)碼是一種本地的修復(fù)碼,難以滿足MDS性質(zhì),因此在實(shí)際驗(yàn)證過(guò)程中,無(wú)法明確得出得出已知數(shù)據(jù)和重構(gòu)原文件消耗網(wǎng)絡(luò)流量的關(guān)系。在具體驗(yàn)證時(shí),通過(guò)將集群Datanodel與集群Datanode2置于同一個(gè)局域網(wǎng)之內(nèi),將集群Datanode3與集群Datanode4作為外部網(wǎng)絡(luò)的節(jié)點(diǎn),同時(shí)為了進(jìn)行更加真實(shí)的網(wǎng)絡(luò)環(huán)境模擬,還需要進(jìn)行上述外部網(wǎng)絡(luò)節(jié)點(diǎn)文件上傳與下載速度的限制。在集群Datanodel與集群Datanode2之間,放置部分?jǐn)?shù)據(jù)塊,用于數(shù)據(jù)分發(fā)效果的模擬,且其中的存儲(chǔ)數(shù)據(jù)均為已知數(shù)據(jù)。通過(guò)進(jìn)行設(shè)置集群Datanode1與集群Datanode2分發(fā)數(shù)據(jù)閥值為640M,并在OM、128M、256M、384M、512M、640M的條件下,測(cè)試集群Datanodel應(yīng)用上述策略重構(gòu)1280M和640M的文件所消耗的外部網(wǎng)絡(luò)流量,并作對(duì)比分析。在外部網(wǎng)絡(luò)流量中,包括在重構(gòu)文件過(guò)程中,包括集群Datanode3與集群Datanode4流入集群Datanodel的網(wǎng)絡(luò)流量[3]。

      從相應(yīng)結(jié)果中我們能夠認(rèn)識(shí)到,在集群Datanodel己知一部分?jǐn)?shù)據(jù)的情況下,在采用復(fù)制策略進(jìn)行文件存儲(chǔ)重構(gòu)時(shí),隨著己知數(shù)據(jù)的增加,消耗的外部流量在逐漸減少,由此我們能夠認(rèn)識(shí)到,數(shù)據(jù)分發(fā)策略對(duì)于應(yīng)用復(fù)制策略存儲(chǔ)的文件是可行的。而對(duì)于XOR策略和RS策略而言,實(shí)際消耗的外部網(wǎng)絡(luò)流量并沒(méi)有出現(xiàn)減少情況,這就說(shuō)明在分布式存儲(chǔ)架構(gòu)下的數(shù)據(jù)分發(fā)策略對(duì)應(yīng)用編碼策略存儲(chǔ)的文件是不可行的。

      4 結(jié)束語(yǔ)

      綜上所述,對(duì)于Hadoop而言,本身有著“一次寫入.多次讀取”的特點(diǎn),而在文件讀取高峰期,Hadoop這種特點(diǎn)很容易造成網(wǎng)絡(luò)堵塞,因此為有效解決這一問(wèn)題,需要在了解Hadoop以及工作流程的基礎(chǔ)上,分析其基于Hadoop的數(shù)據(jù)分發(fā)策略,這對(duì)于提升Hadoop整體性能而言有著重要意義。

      參考文獻(xiàn)

      [1]余輝.面向微博輿情的Hadoop存儲(chǔ)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[D].中國(guó)科學(xué)院大學(xué),2016.

      [2]涂竹松.基于Hadoop的數(shù)據(jù)共享模型研究[D].合肥工業(yè)大學(xué),201 5.

      [3]吳夢(mèng)瀟,基于HADOOP的分布式云平臺(tái)搜索系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].湖南大學(xué),2016.

      作者簡(jiǎn)介

      趙穎(1979-),女,青海省互助縣人。青海廣播電視大學(xué),碩士,副教授。研究方向?yàn)橛?jì)算機(jī)應(yīng)用(數(shù)據(jù)處理)。

      望城县| 吐鲁番市| 大姚县| 嘉峪关市| 万全县| 固安县| 仙游县| 青川县| 云南省| 千阳县| 岗巴县| 疏附县| 庄浪县| 夏河县| 黄冈市| 曲靖市| 屯昌县| 丰宁| 盐津县| 仁寿县| 耒阳市| 蒙山县| 老河口市| 始兴县| 大埔县| 太原市| 蛟河市| 阜新| 开平市| 宕昌县| 怀安县| 华蓥市| 泰顺县| 东平县| 泉州市| 新安县| 德安县| 合水县| 武川县| 林州市| 宣化县|