亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Hadoop副本放置策略

        2013-11-26 01:50:32邵秀麗王亞光李云龍劉一偉
        智能系統(tǒng)學(xué)報 2013年6期
        關(guān)鍵詞:閥值副本使用率

        邵秀麗,王亞光,李云龍,劉一偉

        (1.南開大學(xué) 信息技術(shù)科學(xué)學(xué)院,天津300071;2.北京大學(xué)數(shù)學(xué)科學(xué)學(xué)院,北京100871)

        為提高系統(tǒng)的可靠性,解決不可預(yù)知的災(zāi)難以及硬件錯誤對系統(tǒng)造成的損失,云存儲系統(tǒng)采用分布式副本技術(shù)來存儲數(shù)據(jù).

        哥倫比亞大學(xué)的Ko等[1]提出了一種自穩(wěn)定、全分布、異步可升級的算法來放置副本,算法的目標(biāo)是在網(wǎng)絡(luò)中的結(jié)點上放置數(shù)據(jù)對象的多個副本,從網(wǎng)絡(luò)中的任意一個結(jié)點出發(fā)都能夠通過最短的路徑訪問到任意的副本;加州大學(xué)伯克利分校的Chen等[2]開發(fā)設(shè)計了一個動態(tài)、高效及可升級的內(nèi)容分發(fā)網(wǎng)絡(luò)SCAN(sealable content aeeess network).SCAN 采用Testry進(jìn)行路由和定位,使用沿路緩存算法進(jìn)行副本放置;德克薩斯大學(xué)的MadhukarR等提出了一種協(xié)作的緩存放置算法[3],即給定一組協(xié)作的緩存、緩存之間的網(wǎng)絡(luò)距離以及從每個緩存到每個對象的訪問頻率的預(yù)測,決定在哪里放置對象,從而使平均訪問開銷最小化;Karger等[4]提出了能適應(yīng)節(jié)點數(shù)量的動態(tài)變化的一致性哈希算法,但它只適用于存儲節(jié)點同構(gòu)的情況,當(dāng)節(jié)點的存儲容量和處理能力有差異時,數(shù)據(jù)將不能夠均勻地分布到系統(tǒng)當(dāng)中.

        云存儲系統(tǒng)的典型代表是Hdfs[5],它需將每個存儲數(shù)據(jù)塊的副本放置在多個機(jī)架的多個節(jié)點上,存儲數(shù)據(jù)塊的副本放置策略將直接影響數(shù)據(jù)存儲的均衡性以及訪問數(shù)據(jù)塊的速度.Hdfs系統(tǒng)采用隨機(jī)選擇節(jié)點的副本放置策略,該策略在系統(tǒng)運(yùn)行一段時間后會造成數(shù)據(jù)分布不均衡的問題,降低數(shù)據(jù)的可靠性和讀取性能.因此,本文提出了基于節(jié)點使用率選擇存儲節(jié)點的Hdfs副本放置策略的改進(jìn)算法,引入了客戶端存儲閾值,允許副本在放置過程中穿越多個機(jī)架,以實現(xiàn)各節(jié)點數(shù)據(jù)存儲的相對均衡,實驗驗證了改進(jìn)策略的有效性.

        1 副本放置策略的相關(guān)概念

        內(nèi)容為研究Hdfs的副本放置策略,先介紹相關(guān)概念如下:

        1)獲取集群信息:Hdfs的NetworkTopology類實現(xiàn)對其拓?fù)浣Y(jié)構(gòu)的操縱,該類中包含添加、刪除和獲取節(jié)點信息等函數(shù).比如,Hdfs通過調(diào)用NetworkTopology類的chooseRandom來隨機(jī)獲取一個節(jié)點的信息,通過調(diào)用getNumOfLeaves來獲取所有節(jié)點的數(shù)目.

        2)集群拓?fù)?機(jī)架與節(jié)點):將Hdfs部署在多臺服務(wù)器上就形成了一個Hdfs的集群.如樹狀拓?fù)浣Y(jié)構(gòu)的Hdfs集群,樹根是一個大型交換機(jī),交換機(jī)之下可以是多個二級交換機(jī),可以把每一個二級交換機(jī)設(shè)置為一個機(jī)架,每個機(jī)架之下連接多個節(jié)點.

        Hdfs管理員可編寫腳本文件來配置每個節(jié)點屬于哪一個機(jī)架.在進(jìn)行機(jī)架配置時,應(yīng)將相同交換機(jī)下的節(jié)點設(shè)置為同一個機(jī)架就可實現(xiàn)合理的配置.

        一般把組成Hdfs集群的每一個服務(wù)器稱為一個節(jié)點,對文件讀寫的客戶端而言,其所在節(jié)點稱為本地節(jié)點,其他節(jié)點為遠(yuǎn)程節(jié)點.就某一具體節(jié)點而言,稱該節(jié)點所在的機(jī)架為本地機(jī)架,其他機(jī)架為遠(yuǎn)程機(jī)架.

        3)隨機(jī)函數(shù):Hdfs的NetworkTopology類中有保存所有節(jié)點信息的ArrayList.Hdfs在選擇副本放置位置時,調(diào)用隨機(jī)選擇函數(shù)chooseRandom,從n中隨機(jī)選擇一個數(shù)對應(yīng)ArrayList中的節(jié)點就被選中為副本存儲的節(jié)點.該函數(shù)是只有2個參數(shù)的重載函數(shù),第1個參數(shù)是選擇節(jié)點的范圍,它可以是某個機(jī)架,默認(rèn)為整個集群;第2個參數(shù)是不能選擇節(jié)點的范圍,默認(rèn)為空,可以設(shè)置為某個機(jī)架.

        4)Hdfs在進(jìn)行副本選擇過程中,有可能出現(xiàn)參數(shù)不合格或內(nèi)存異常等現(xiàn)象,一旦出現(xiàn)運(yùn)行異常,chooseRandom函數(shù)就會把異常信息返回客戶端該函數(shù)的調(diào)用者.

        2 Hdfs默認(rèn)副本放置策略

        如圖1所示,Hdfs的副本放置策略是將每一個數(shù)據(jù)項的副本放置在多個節(jié)點上.在客戶端運(yùn)行的節(jié)點上放置第1個副本,在客戶端的遠(yuǎn)程機(jī)架上隨機(jī)選擇一個節(jié)點放置第2個副本,在第2個副本所在機(jī)架上隨機(jī)選擇一個節(jié)點放置第3個副本.

        圖1 副本放置策略Fig.1 The placement policy of duplication

        分布式文件系統(tǒng)[6-7]的副本放置策略確定每一個數(shù)據(jù)塊應(yīng)該存放的位置,數(shù)據(jù)塊與節(jié)點之間的關(guān)聯(lián)被記錄在數(shù)據(jù)塊與節(jié)點關(guān)聯(lián)表中,數(shù)據(jù)塊最終會被存放在存儲層的各個節(jié)點上.

        2.1 Hdfs默認(rèn)副本放置策略的流程

        Hdfs的分塊存儲文件在選擇副本放置位置時,綜合考慮了數(shù)據(jù)存儲的可靠性、數(shù)據(jù)讀寫的帶寬和負(fù)載均衡等因素.如將一個數(shù)據(jù)塊所有副本都存儲在一個節(jié)點上,則存儲過程中所占用的帶寬是最小的,因為這可以減少數(shù)據(jù)塊的網(wǎng)絡(luò)傳輸,但該方案不提供有效的冗余備份,一旦該節(jié)點發(fā)生故障,則該節(jié)點中存儲的這一數(shù)據(jù)塊及其所有副本都會丟失.因此,Hdfs對任意一數(shù)據(jù)塊不在同一個節(jié)點上放置多個副本,而是將副本盡可能分散存放[8-9].圖2給出了Hdfs默認(rèn)的副本放置策略流程,其中標(biāo)注了本文所實現(xiàn)的對副本放置策略的改進(jìn)工作,Hdfs默認(rèn)的副本放置策略選擇3個節(jié)點,可以選擇多個節(jié)點放置副本.

        圖2 默認(rèn)副本放置策略Fig.2 The flowchart of default replica placement

        1)HdFs副本放置策略是調(diào)用ReplicationTarget-Chooser類的chooseTargrt函數(shù)來實現(xiàn)的.開始使用NetworkTopology類的contains函數(shù),contains函數(shù)通過判斷客戶端所在根節(jié)點與集群的根節(jié)點是否一致來判斷客戶端是否在集群中.

        2)如果客戶端是集群中的一個節(jié)點,則調(diào)用ReplicationTargetChooser類的 chooseLocalNode函數(shù)來嘗試選擇客戶端節(jié)點作為第1個節(jié)點.

        3)客戶端存儲嘗試失敗時則調(diào)用ReplicationTargetChooserchooser類的chooseLocalRack函數(shù),在客戶端節(jié)點所在機(jī)架隨機(jī)選擇一個節(jié)點作為第1個節(jié)點,然后將這個節(jié)點的信息傳給ReplicationTargetChooserchooser類中的chooseTargrt函數(shù),且將這個節(jié)點的信息記錄在ReplicationTargetChooserchooser類中的一個DatanodeDescriptor類型的數(shù)組results中.

        4)如果客戶端不是集群中的節(jié)點,則使用ReplicationTargetChooser類的chooseRandom函數(shù)在集群中隨機(jī)選擇一個節(jié)點作為第1個節(jié)點,且將這個選擇的節(jié)點記錄在數(shù)組results中.

        5)ReplicationTargetChooser類的chooseRemoteRack函數(shù)在第1個節(jié)點的遠(yuǎn)程機(jī)架上隨機(jī)選擇一個節(jié)點作為第2個節(jié)點.如果在遠(yuǎn)程機(jī)架上選擇節(jié)點失敗,則使用ReplicationTargetChooser類的chooseLocalRack函數(shù)在第1個節(jié)點的本地機(jī)架上隨機(jī)選擇一個節(jié)點作為第2個節(jié)點.將第2個節(jié)點記錄在ReplicationTargetChooserchooser類中DatanodeDescriptor下的數(shù)組results中.

        6)選擇第3個節(jié)點,如果前2個節(jié)點是在同一個機(jī)架上,則使用 ReplicationTargetChooser類的chooseRemoteRack函數(shù)在前2個節(jié)點的遠(yuǎn)程機(jī)架上選擇一個節(jié)點.如果所選擇的前2個節(jié)點并不在同一個機(jī)架上面,則使用ReplicationTargetChooser類的chooseLocalRack函數(shù)在第2個節(jié)點的本地機(jī)架上隨機(jī)選擇一個節(jié)點作為第3個節(jié)點,且存儲第3個節(jié)點信息在數(shù)組results中.

        7)最終將results中的所有節(jié)點返回給副本選擇函數(shù)的調(diào)用者.

        2.2 Hdfs副本放置策略的缺陷

        Hdfs默認(rèn)副本放置策略綜合考慮了多方面的因素,在可靠性、讀寫效率,負(fù)載均衡方面都做了一定的權(quán)衡,是一個比較優(yōu)秀的副本放置策略,但Hdfs采用隨機(jī)選擇的副本放置策略.該策略沒有考慮到節(jié)點負(fù)載的情況,在數(shù)據(jù)均衡方面比較薄弱,這使數(shù)據(jù)損壞時需要恢復(fù)的數(shù)據(jù)塊數(shù)量可能會很多,數(shù)據(jù)讀取的速度會受到影響等問題.

        針對這一問題,Hdfs提供了解決方案——均衡器[10].均衡器(balancer)是一個Hdfs的守護(hù)進(jìn)程,啟動之后,它會將數(shù)據(jù)塊從負(fù)載較高的節(jié)點移到相對空閑的節(jié)點,從而達(dá)到重新分配數(shù)據(jù)塊的目的,最終達(dá)到整個集群的數(shù)據(jù)塊分布均衡.在數(shù)據(jù)塊重新分配的過程中,均衡器會盡量將一個數(shù)據(jù)塊的復(fù)本分散到不同機(jī)架,以提高數(shù)據(jù)塊的冗余,降低數(shù)據(jù)損壞的可能性.

        Hdfs集群的管理員決定是否啟動均衡器,啟動后,會根據(jù)管理員設(shè)定的閥值來對集群進(jìn)行均衡處理.閥值是每個節(jié)點的使用率(該節(jié)點上已經(jīng)使用的空間和節(jié)點的空間容量之間的比值)和集群的使用率(集群中已使用的空間和集群的空間容量之間的比值)之間的差值,默認(rèn)的閥值是10%,管理員在啟動均衡器的時候,可以指定閥值的大小.在任何時刻,集群中只能運(yùn)行一個均衡器.

        均衡器雖然可以解決數(shù)據(jù)塊分布不均衡的問題,但是存在著明顯的問題:

        1)均衡器對于集群數(shù)據(jù)塊均衡的調(diào)節(jié)具有滯后性,它必須要在系統(tǒng)的不均衡狀況超過閥值之后,才會進(jìn)行調(diào)節(jié).

        2)均衡器的運(yùn)行和數(shù)據(jù)塊的移動需要耗費(fèi)一定的資源,很可能一個數(shù)據(jù)塊剛剛寫入到集群中,就因為均衡性而被移動,這種情況下集群的資源使用是很低效的.

        3 Hdfs副本放置策略的改進(jìn)

        Hdfs默認(rèn)的副本放置策略存在的不足,以及Hdfs提供的均衡器存在一些不盡人意的地方,本文提出了對其改進(jìn)的低使用率優(yōu)先(low rate first)副本放置策略.

        3.1 改進(jìn)副本放置的流程

        圖3是副本放置改進(jìn)策略的流程.

        圖3 基于3副本放置策略的改進(jìn)Fig.3 The improved placement strategy based on three replicas

        1)考慮到數(shù)據(jù)寫入帶寬問題,依然在客戶端所在的節(jié)點上寫入第1個副本,但考慮了該節(jié)點的負(fù)載情況,即如果本地節(jié)點的負(fù)載超過了管理員指定的閥值,則選擇集群中使用率較低的節(jié)點來放置副本.

        2)除第1個副本在閥值滿足的情況下放在本地節(jié)點上之外,其余所有的副本放置位置的選擇,都是采用優(yōu)先選擇集群中比較空閑的節(jié)點的方式,以避免在負(fù)載較高的節(jié)點上繼續(xù)存儲數(shù)據(jù).

        3)為提高數(shù)據(jù)塊的冗余,盡可能地將數(shù)據(jù)存儲在至少2個機(jī)架上,本地機(jī)架上存儲第1個副本,第2個副本選擇與第1個節(jié)點不同的機(jī)架進(jìn)行存儲.因為Hdfs是一次寫入、多次讀取的設(shè)計思想,在數(shù)據(jù)寫入的時候穿越多個機(jī)架,雖然寫入帶寬可能會有所降低,但是提高了集群的數(shù)據(jù)塊分布均衡,有利于文件的讀取和程序的運(yùn)行.

        4)為提高數(shù)據(jù)的冗余,保持每個節(jié)點只存儲一個副本的規(guī)則.Hdfs的默認(rèn)副本放置策略是一個節(jié)點最多放置一個副本,如果副本的數(shù)量超過節(jié)點的總數(shù),則集群中最多只放置與節(jié)點同樣數(shù)目的副本.低使用率優(yōu)先的放置策略依然堅持這個原則,每個節(jié)點最多只放置一個副本.

        盡管當(dāng)發(fā)生故障時,此策略會影響恢復(fù)數(shù)據(jù)速度,而且每存儲一個副本時都需要調(diào)用函數(shù)獲取節(jié)點信息,并判斷該節(jié)點是否可以存儲副本,這會降低運(yùn)行速度及安全性.但考慮到Hdfs默認(rèn)放置策略的副本放置的最終狀態(tài)很難被控制,它在數(shù)據(jù)均衡方面的缺點比較明顯,而這會帶來一系列的問題,比如數(shù)據(jù)損壞時需要恢復(fù)的數(shù)據(jù)塊數(shù)量可能會有很多,數(shù)據(jù)讀取的速度可能會受到影響等因素,本文提出的對于Hdfs默認(rèn)副本放置策略的改進(jìn)方法有相對優(yōu)勢.

        3.2 改進(jìn)策略實現(xiàn)的核心類

        副本放置改進(jìn)策略會優(yōu)先考慮在使用率比較低的節(jié)點上放置數(shù)據(jù),這通過對Hdfs中負(fù)責(zé)副本放置節(jié)點選擇的類ReplicationTargetChooser的改進(jìn)來完成;該類在Hdfs中的作用是當(dāng)有新增數(shù)據(jù)塊或數(shù)據(jù)塊位置變動的時候,NameNode會調(diào)用該類來確定數(shù)據(jù)塊放置的位置.ReplicationTargetChooser類使用chooseTarget函數(shù)來選擇副本放置的節(jié)點,圖4描述了放置k個副本重寫chooseTarget函數(shù)來實現(xiàn)的策略改進(jìn).

        圖4 基于K副本放置策略的改進(jìn)Fig.4 The improved placement strategy based on K replicas

        1)函數(shù)的初始化階段:首先調(diào)用NetworkTopology類中的getNumOfLeaves函數(shù)來獲取集群的大小,控制副本數(shù)目不超過集群的大小,如果設(shè)置的副本的數(shù)目超過集群的大小,則設(shè)置副本數(shù)目為集群大小.

        2)管理員可設(shè)置本地節(jié)點閥值,默認(rèn)值為0.1,改進(jìn)后的Hdfs在配置文件中為用戶設(shè)置閥值提供了接口,在 Hdfs.xml文件中可以通過為 dfs.replication.threshold設(shè)置值來實現(xiàn)閥值的控制,閥值的范圍在0~1,0表示本地節(jié)點的使用率必須小于等于集群的使用率才會在本地節(jié)點上放置數(shù)據(jù)塊的副本;1表示不考慮使用率,一定要在本地節(jié)點上放置數(shù)據(jù)塊的副本.

        3)使用 Configuration類的getFloat函數(shù)配置文件中的閥值.但如果用戶沒有設(shè)置閥值或者設(shè)置的閥值不合理,chooseTarget函數(shù)依然使用默認(rèn)閥值進(jìn)行副本的選擇.

        4)在重寫的chooseTarget函數(shù)中需定義一個DataNodeDescriptor類型的數(shù)組DN來存儲全部節(jié)點的信息,DataNodeDescriptor是Hdfs中用于描述DataNode信息的類,chooseTarget函數(shù)可以通過操縱DataNodeDescriptor的對象來獲取一個節(jié)點的信息,包括節(jié)點ID、節(jié)點名稱、節(jié)點全部存儲空間和節(jié)點已經(jīng)使用的存儲空間等.另外,還需定義DataNode-Descriptor類型的數(shù)組results來存儲已選擇的節(jié)點,同時定義集群的存儲空間使用率Usage.

        5)使用NetworkTopology類中的getLeaf函數(shù)可以獲取集群中所有節(jié)點的信息,將返回的所有節(jié)點信息存儲在數(shù)組DN中,然后可以根據(jù)DN中的信息計算集群的整體存儲空間的使用率Usage.在獲取所有節(jié)點信息之后,并不對數(shù)組DN進(jìn)行任何處理,比如排序、建堆等.雖然考慮到后面的算法中需要多次取得DN中使用率最小的節(jié)點,但考慮客戶端和不同機(jī)架,因此該問題又與經(jīng)典TopK問題相似且稍有不同.一般副本個數(shù)K默認(rèn)為3,如果在客戶端上放置一個副本,選擇另外2個副本的計算復(fù)雜度為O(2N -3).

        6)初始化后選擇節(jié)點,先通過Hdfs調(diào)用chooseTarget函數(shù),使用NetworkTopology類中的contains函數(shù)判斷客戶端節(jié)點是否在集群中,如果不在,則不在客戶端上放置副本.否則還需進(jìn)一步判斷客戶端節(jié)點的使用率與集群使用率的差值,如果差值小于閥值,則在客戶端上放置第1個副本,否則不在客戶端上放置副本.使用ReplicationTargetChooser類的is-GoodTarget判斷客戶端節(jié)點是否可用,才能確定是否在客戶端節(jié)點上放置一個數(shù)據(jù)塊.

        7)如果客戶端不可用,則在DN中選擇使用率最低的節(jié)點來嘗試放置副本,如節(jié)點不可用,則將該節(jié)點標(biāo)記為暫時不可選擇,然后繼續(xù)在其他節(jié)點中選擇一個使用率最低的節(jié)點,直到選擇到合適的節(jié)點為止.

        8)機(jī)架數(shù)目對副本放置節(jié)點的算法有一定的影響,使用NetworkTopology類的getNumOfRacks函數(shù)來獲取機(jī)架的數(shù)目,則在DN中選擇一個使用率最小的節(jié)點作為第1個副本放置的節(jié)點.選擇第1個節(jié)點后,將其從DN中移除,加入到results數(shù)組中.

        9)在選擇第2個節(jié)點的時候,在DN中選擇使用率最小的節(jié)點,然后使用 NetworkTopology類的isOnSameRack函數(shù)判斷它與選取的第1個節(jié)點是否在相同的機(jī)架上.如果這2個節(jié)點不在一個機(jī)架上,則選擇這個節(jié)點作為第2個副本存放的節(jié)點,否則,重新選擇DN中其他節(jié)點中使用率最小的節(jié)點,直到找到這樣的節(jié)點為止.選擇第2個節(jié)點之后,將其從記錄未被選擇節(jié)點的數(shù)組DN中移除,加入到記錄已選擇節(jié)點的數(shù)組results中.

        10)繼續(xù)上述步驟選擇其他節(jié)點.

        11)函數(shù)執(zhí)行過程中,使用java中的try來嘗試運(yùn)行,若chooseTarget函數(shù)的運(yùn)行沒有出現(xiàn)異常,則最終將存儲已選擇節(jié)點的數(shù)組results返回給函數(shù)的調(diào)用者.若執(zhí)行過程中出現(xiàn)不可處理的異常,則在catch語句中處理異常,返回客戶端節(jié)點.

        4 實驗結(jié)果與分析

        為了比較Hdfs默認(rèn)的和本文改進(jìn)的副本放置策略,本文實現(xiàn)了由2部分組成的測試程序:1)負(fù)責(zé)模擬一個節(jié)點運(yùn)行的DataNode類,該類記錄了模擬節(jié)點的惟一標(biāo)識、容量、使用量、數(shù)據(jù)塊數(shù)量以及機(jī)架標(biāo)識;2)模擬系統(tǒng)運(yùn)行的NameNode類,包括對于Data-Node的初始化、設(shè)置閥值、設(shè)置副本放置策略和數(shù)據(jù)寫入等內(nèi)容的模擬.在模擬的過程中,并不進(jìn)行真實的數(shù)據(jù)的讀寫,只是對于數(shù)據(jù)讀寫后的結(jié)果進(jìn)行模擬記錄.在NameNode類中初始化所有的節(jié)點,每個節(jié)點初始的容量是1 T,used和blockNum被設(shè)置為0.該程序模擬寫入過程,設(shè)置寫入數(shù)據(jù)塊的大小和模擬數(shù)據(jù)的分塊.對于每一個劃分的數(shù)據(jù)塊,程序運(yùn)行相應(yīng)的副本放置策略函數(shù),選擇3個節(jié)點用于放置劃分的數(shù)據(jù)塊.然后循環(huán)處理直到數(shù)據(jù)塊的寫入完成.

        寫入所有數(shù)據(jù)后,可根據(jù)模擬節(jié)點的使用情況計算不同的副本放置策略的數(shù)據(jù)存儲均衡性.本文使用標(biāo)準(zhǔn)差來衡量副本放置的均衡性,所使用的數(shù)據(jù)是所有DataNode的使用率,也就是每個節(jié)點的使用容量used與總?cè)萘縞apacity之間的比值.設(shè)集群中一共有n個節(jié)點,所有節(jié)點的使用率分別為X1,X2,..,Xn-1,Xn.節(jié)點使用率的平均值X2+…+Xn-1+Xn)/n,標(biāo)準(zhǔn)差

        本文實驗一測試了機(jī)架數(shù)目對于算法的影響,分別使用默認(rèn)的策略和改進(jìn)后的策略,模擬測試在500個節(jié)點上寫入大小不同的數(shù)據(jù)后,系統(tǒng)的存儲均衡情況,寫入文件大小為100 G條件下的節(jié)點使用率的標(biāo)準(zhǔn)差.

        從圖5中可以看出,對于默認(rèn)的副本放置策略,機(jī)架數(shù)目在3個以內(nèi)的時候,機(jī)架的個數(shù)對于系統(tǒng)的均衡性會有一定的影響,但是差別在0.02%以內(nèi).當(dāng)機(jī)架數(shù)目超過3個以后,機(jī)架數(shù)目對于系統(tǒng)均衡性的影響會在0.005%以內(nèi).而對于改進(jìn)后的副本放置策略,機(jī)架的數(shù)目對于集群的均衡性影響會變得更小,在0.002%以內(nèi).所以,機(jī)架的個數(shù)對于2種副本放置策略的影響都很小.通過圖5可以看出,改進(jìn)后的副本放置策略受到的影響更小,在不同機(jī)架個數(shù)情況下,都有更好的均衡性.

        圖5 機(jī)架數(shù)目對于算法的影響Fig.5 The impact of the algorithm based on the number of rack

        實驗二測試隨著寫入數(shù)據(jù)的增加,不同副本放置策略下集群存儲的均衡性.實驗選擇在500個節(jié)點、5個機(jī)架的條件下,分別使用默認(rèn)的副本放置策略和改進(jìn)后的副本放置策略,寫入 1 G、10 G、100 G、1 T、10 T和100 T的數(shù)據(jù),測試集群的副本均衡情況.

        根據(jù)圖6顯示,使用改進(jìn)后的副本放置策略進(jìn)行副本放置位置的選擇,集群中數(shù)據(jù)塊的均衡性明顯好于使用默認(rèn)的副本放置策略,在數(shù)據(jù)量比較小的時候這種優(yōu)勢還不太明顯,但是在數(shù)據(jù)量比較大的時候,改進(jìn)后的策略的好處就會更加明顯.可見,改進(jìn)后的副本放置策略,在數(shù)據(jù)塊的均衡性方面有更加良好的表現(xiàn).

        圖6 存儲數(shù)據(jù)量對于算法的影響Fig.6 The impact of the algorithm based on

        本文提出的放置策略需獲取集群中所有節(jié)點的信息,且將其存儲在一個DataNodeDescriptor數(shù)組中,從而增加了時間和空間的開銷.另外要計算集群的整體使用率與選擇集群中使用率較小的節(jié)點,增加了線性的開銷.

        5 結(jié)束語

        本文基于節(jié)點存儲率對Hdfs中負(fù)責(zé)副本放置節(jié)點選擇的類ReplicationTargetChooser進(jìn)行了改進(jìn),并部署了簡單實際環(huán)境進(jìn)行了實驗,由于其實際環(huán)境受物理設(shè)備和其他異構(gòu)條件等各種客觀因素的影響不大,所以,本文所提方案提高了Hdfs的數(shù)據(jù)塊放置的均衡性.但本文所提出的副本放置策略,關(guān)注的主要是集群中數(shù)據(jù)塊副本放置的均衡性,所考慮的因素主要是節(jié)點的使用率,而沒有考慮節(jié)點使用的價格、安全性、處理速度等.

        [1]KO B J.Scalable service differentiation in a shared storage cache[C]//Proc of the 23rd International Conference on Distributed Computing Systems.Washington,DC,USA,2003:184-194.

        [2]CHEN Yan.SCAN:a dynamic,scalable,and efficient content distribution network[C]//Proceedings of the International Conference on Pervasive Computing.Zürich,Switzerland,2002:282-286.

        [3]KORUPOLU M R.Placement algorithms for hierarchical cooperative caching[C]//Proceedings of the Tenth Annual ACM-SIAM Symposium on Discrete Algorithms.PA,USA,1999:586-595.

        [4]KARGER D,LEHMAN E,LEIGHTON T,et al.Consistent hashing and random trees:distributed caching protocols for relieving hot spots on the world wide web[C]//ACM Symposium on Theory of Computing.CA,USA,1997:654-663.

        [5]BORTHAKUR D.The hadoop distributed file system:architecture and design[EB/OL].[2012-11-08].http://hadoop.apache.org/core/docs.

        [6]GUY L,LAURE E,STOCKINGER H,et al.Replica management in data grids,GGF5[R].Global Grid Information Document,2002.

        [7]STONEBRAKER M,ABADI D J,De WITT D J,et al.MapReduce and parallel DBMSs:friends or foes[J].Communication of the ACM,2010,53(1):64-71.

        [8]魏青松,盧顯良,侯孟書.AdpReplica:自適應(yīng)副本管理機(jī)制[J].計算機(jī)科學(xué),2004,31(12):34-36.WEI Qingsong,LU Xianliang,HOU Mengshu.AdpRePlica:adaptive replica management mechanism[J].Computer Science,2004,31(12):34-36.

        [9]楊曙鋒.分布式并行文件系統(tǒng)的副本管理策略[D].成都:電子科技大學(xué),2003:23-31.YANG Shufeng.The Copies’management strategy of distributed parallel file system[D].Chengdu:University of Electronic Science and Technology of China,2003:23-31.

        [10]BORDAWEKAR R,LANDHERR S,CAPPS D,et al.Experimental evaluation of the Hewlett-Packard Exemplar file system[C]//ACM Sigmetric SPerformance Evaluation Review.[S.l.]1997.

        猜你喜歡
        閥值副本使用率
        光敏傳感器控制方法及使用其的滅蚊器
        傳感器世界(2019年6期)2019-09-17 08:03:20
        面向流媒體基于蟻群的副本選擇算法①
        基于小波分析理論的橋梁監(jiān)測信號去噪研究
        激光多普勒測速系統(tǒng)自適應(yīng)閥值檢測算法
        副本放置中的更新策略及算法*
        深度學(xué)習(xí)在無人駕駛汽車中的應(yīng)用
        樹形網(wǎng)絡(luò)中的副本更新策略及算法*
        胃腸外科圍手術(shù)期合理使用抗菌藥物的探討
        初中生學(xué)習(xí)·低(2012年4期)2012-04-29 04:29:50
        初中生學(xué)習(xí)·低(2012年7期)2012-04-29 00:44:03
        亚洲区精选网址| 日韩我不卡| 国产成人久久精品区一区二区| 美女被射视频在线观看91| 色综合久久人妻精品日韩| 黄色一区二区三区大全观看| 精品女人一区二区三区| 蜜臀一区二区三区精品| 18禁黄网站禁片免费观看女女| 天堂…在线最新版资源| 日韩精品成人一区二区三区| 中文字幕巨乱亚洲| 亚洲日本视频一区二区三区| 天堂久久一区二区三区| 国产精品一区二区久久国产| 中国丰满熟妇xxxx性| 久久综合给合久久狠狠狠97色69| 无遮挡中文毛片免费观看| 少妇av免费在线播放| 国产精品一区二区偷拍| 精品露脸国产偷人在视频| 曰本无码人妻丰满熟妇啪啪| 丝袜足控一区二区三区| 国产午夜精品久久久久| 宅男天堂亚洲一区二区三区| 精品亚洲一区二区三区四| 亚洲国产天堂久久综合网| 亚洲美国产亚洲av| 成人不卡国产福利电影在线看| 精品国模人妻视频网站| 久久天堂精品一区二区三区四区| 男人的天堂免费a级毛片无码| 最近日本中文字幕免费完整| 最新精品国偷自产在线婷婷| 亚洲一区二区三区av色婷婷| 三级日韩视频在线观看| 帮老师解开蕾丝奶罩吸乳网站| 少妇的肉体k8经典| www.五月激情| 粗大挺进孕妇人妻在线| 久久在一区二区三区视频免费观看|