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

?

中小規(guī)模分布式文件系統(tǒng)集群構(gòu)架的優(yōu)化方案

2014-04-21 05:43白俊王新耿昕
關(guān)鍵詞:子網(wǎng)結(jié)點(diǎn)集群

白俊,王新,耿昕

(1.北京京北職業(yè)技術(shù)學(xué)院機(jī)電工程系,北京101400;2.中國(guó)石油大學(xué)計(jì)算機(jī)系,北京102249)

中小規(guī)模分布式文件系統(tǒng)集群構(gòu)架的優(yōu)化方案

白俊1,王新2,耿昕2

(1.北京京北職業(yè)技術(shù)學(xué)院機(jī)電工程系,北京101400;2.中國(guó)石油大學(xué)計(jì)算機(jī)系,北京102249)

針對(duì)分布式文件系統(tǒng)的應(yīng)用存在處理小文件效率不高的問(wèn)題,提出一種適用于中小規(guī)模分布式文件系統(tǒng)集群的應(yīng)用架構(gòu),將傳統(tǒng)分布式文件系統(tǒng)集群中的內(nèi)網(wǎng)劃分為兩個(gè)子網(wǎng):對(duì)外子網(wǎng)和對(duì)內(nèi)子網(wǎng),對(duì)外子網(wǎng)中傳輸與外網(wǎng)之間的交互數(shù)據(jù),對(duì)內(nèi)子網(wǎng)中傳輸分布件系統(tǒng)集群的管理數(shù)據(jù)。每個(gè)數(shù)據(jù)結(jié)點(diǎn)同時(shí)與對(duì)外和對(duì)內(nèi)兩個(gè)子網(wǎng)連接,并代替名稱節(jié)點(diǎn)負(fù)責(zé)與外網(wǎng)直接的數(shù)據(jù)交流;名稱節(jié)點(diǎn)本身只與對(duì)內(nèi)子網(wǎng)連接。對(duì)外子網(wǎng)與外網(wǎng)之間使用防火墻設(shè)備加強(qiáng)安全性,并使用負(fù)載均衡設(shè)備將來(lái)自外網(wǎng)的數(shù)據(jù)請(qǐng)求合理的分配到每個(gè)數(shù)據(jù)節(jié)點(diǎn)上;增加了緩存機(jī)制對(duì)系統(tǒng)處理小文件操作進(jìn)行優(yōu)化,部署實(shí)驗(yàn)環(huán)境,設(shè)計(jì)一個(gè)測(cè)試程序?qū)彺嫘蕼y(cè)試,對(duì)1000個(gè)100KB的文件,通過(guò)模擬多線程連續(xù)讀取大量文件來(lái)測(cè)試緩存的性能,實(shí)驗(yàn)證明系統(tǒng)設(shè)計(jì)方案可行,增加磁盤(pán)緩存有利于提高系統(tǒng)處理小文件的存取效率,系統(tǒng)優(yōu)化效果顯著.

緩存;中小規(guī)模分布式文件系統(tǒng);管理數(shù)據(jù)

0 引言

當(dāng)前,如何更為有效而又廉價(jià)地處理海量的用戶數(shù)據(jù),已經(jīng)成為互聯(lián)網(wǎng)公司普遍面臨的一個(gè)難題.傳統(tǒng)的企業(yè)架構(gòu)采用企業(yè)級(jí)服務(wù)器或者小型機(jī)等高端硬件,并搭配昂貴的企業(yè)數(shù)據(jù)庫(kù)軟件,不但給互聯(lián)網(wǎng)公司增加了非常高的運(yùn)營(yíng)成本,一定程度上阻礙了互聯(lián)網(wǎng)公司的發(fā)展;也沒(méi)有足夠的擴(kuò)展性來(lái)處理未來(lái)互聯(lián)網(wǎng)公司所面臨的驚人數(shù)據(jù)量.

面對(duì)以上問(wèn)題,很多互聯(lián)網(wǎng)公司開(kāi)始自行研發(fā)更加廉價(jià)并且具有良好擴(kuò)展性的解決方案. Google推出的分布式文件系統(tǒng)Google File System(簡(jiǎn)稱GFS)是一種已經(jīng)被證明的高效、高擴(kuò)展性并且較為廉價(jià)的解決方案.GFS配合MapReduce分布式計(jì)算框架,可以提供一套有效的數(shù)據(jù)存儲(chǔ)和處理系統(tǒng),然而GFS并沒(méi)有向外界開(kāi)放.Apache和Yahoo!也推出了一套類似的開(kāi)源系統(tǒng)Ha?doop,并且已經(jīng)在很多互聯(lián)網(wǎng)公司得到了廣泛的應(yīng)用.Hadoop主要包括了三部分:

(1)Hadoop Common:一系列用于分布式文件系統(tǒng)和I/O的組件和接口(串行化,Java RPC,穩(wěn)定的數(shù)據(jù)結(jié)構(gòu));

(2)Hadoop Distributed File System(HDFS):運(yùn)行在大量普通商用機(jī)器上的、支持高吞吐量的分布式文件系統(tǒng);

(3)Hadoop MapReduce:一種在分布式系統(tǒng)上有效處理大數(shù)據(jù)集的數(shù)據(jù)處理框架.

Hadoop Distributed File System(簡(jiǎn)稱HDFS)是Hadoop包含的分布式文件系統(tǒng),具有高效、高擴(kuò)展性和廉價(jià)的特點(diǎn),很適合存儲(chǔ)海量的互聯(lián)網(wǎng)數(shù)據(jù).中國(guó)的很多互聯(lián)網(wǎng)公司尤其是有搜索引擎業(yè)務(wù)的公司已經(jīng)開(kāi)始廣泛的使用HDFS,并且越來(lái)越深的感受到HDFS帶來(lái)的好處.但是,HDFS的應(yīng)用仍然存在一些阻礙:一是沒(méi)有一種完整、成熟、易于部署的架構(gòu);二是HDFS為處理大文件而優(yōu)化,處理小文件的I/O效率不高.本文主要針對(duì)這兩個(gè)問(wèn)題進(jìn)行了研究.

1 HDFS 應(yīng)用架構(gòu)設(shè)計(jì)

1.1 傳統(tǒng)HDFS集群架構(gòu)

HDFS是Hadoop的文件系統(tǒng)組件,它與其他的分布式文件系統(tǒng)有很多不同之處.HDFS具有很強(qiáng)的錯(cuò)誤恢復(fù)機(jī)制,因?yàn)樗\(yùn)行的機(jī)器往往是價(jià)格相對(duì)低廉、損壞率較高的機(jī)器,所以它要具有快速檢測(cè)錯(cuò)誤和自動(dòng)恢復(fù)數(shù)據(jù)的能力;HDFS提供以數(shù)據(jù)流的方式訪問(wèn)數(shù)據(jù),適用于批量處理數(shù)據(jù),而不是與用戶交互進(jìn)行數(shù)據(jù)操作,這種方式帶來(lái)了很高的數(shù)據(jù)吞吐流量,適合于對(duì)大量數(shù)據(jù)的處理.

傳統(tǒng)的HDFS使用了主/從架構(gòu)來(lái)管理集群中的結(jié)點(diǎn),每個(gè)集群中都有一個(gè)NameNode結(jié)點(diǎn)和多個(gè)DataNode結(jié)點(diǎn),如圖1所示.NameNode作為主結(jié)點(diǎn),管理著文件系統(tǒng)的名字空間和對(duì)集群中數(shù)據(jù)的訪問(wèn);DataNode是從結(jié)點(diǎn),負(fù)責(zé)存儲(chǔ)和管理數(shù)據(jù).用戶將文件存儲(chǔ)到HDFS中后,文件會(huì)被分割為若干個(gè)數(shù)據(jù)塊,并存儲(chǔ)到各個(gè)DataNode上.Na?meNode管理著各個(gè)文件和數(shù)據(jù)塊的映射表,以及所有對(duì)文件的操作,例如文件打開(kāi)、關(guān)閉和重命名. DataNode負(fù)責(zé)處理客戶端的數(shù)據(jù)讀寫(xiě)請(qǐng)求,同時(shí)也根據(jù)NameNode的指令進(jìn)行數(shù)據(jù)塊的創(chuàng)建、刪除和拷貝操作.

圖1 傳統(tǒng)HDFS集群架構(gòu)Fig.1 Traditional HDFSarchitecture cluster

傳統(tǒng)HDFS集群的優(yōu)點(diǎn)是集群內(nèi)部結(jié)構(gòu)簡(jiǎn)潔,只有NameNode、DataNode和交換機(jī)三種設(shè)備,MapReduce等分布式計(jì)算模型可以充分利用這種簡(jiǎn)潔性進(jìn)行數(shù)據(jù)計(jì)算的轉(zhuǎn)移,因此集群內(nèi)部可以達(dá)到很高的數(shù)據(jù)吞吐量,同時(shí)結(jié)構(gòu)上的簡(jiǎn)潔也降低了維護(hù)工作的難度,相對(duì)提高了數(shù)據(jù)可靠性.但是在用于MapReduce之外的環(huán)境時(shí),這種架構(gòu)存在很多不足之處[1-2]:

(1)外網(wǎng)讀寫(xiě)數(shù)據(jù)時(shí)需要直接訪問(wèn)NameNo?de,當(dāng)訪問(wèn)頻繁時(shí)會(huì)給NameNode造成很大的性能壓力.

(2)單交換機(jī)的設(shè)計(jì)使內(nèi)外網(wǎng)之間的數(shù)據(jù)傳輸流量與HDFS集群管理的流量都集中于單個(gè)網(wǎng)段中,造成頻繁的網(wǎng)絡(luò)繁忙,限制了數(shù)據(jù)的傳輸效率.

(3)外網(wǎng)與內(nèi)網(wǎng)的直接連接會(huì)帶來(lái)數(shù)據(jù)安全上的隱患,尤其對(duì)于互聯(lián)網(wǎng)企業(yè),安全遠(yuǎn)比性能更重要.

1.2 應(yīng)用架構(gòu)設(shè)計(jì)

針對(duì)傳統(tǒng)HDFS集群架構(gòu)的不足,提出以下優(yōu)化方案,如圖2所示:

(1)將傳統(tǒng)HDFS集群中的內(nèi)網(wǎng)劃分為兩個(gè)子網(wǎng):對(duì)外子網(wǎng)和對(duì)內(nèi)子網(wǎng),對(duì)外子網(wǎng)中傳輸與外網(wǎng)之間的交互數(shù)據(jù),對(duì)內(nèi)子網(wǎng)中傳輸HDFS集群的管理數(shù)據(jù).

(2)每個(gè)DataNode同時(shí)與對(duì)外和對(duì)內(nèi)兩個(gè)子網(wǎng)連接,并代替NameNode負(fù)責(zé)與外網(wǎng)直接的數(shù)據(jù)交流;NameNode本身只與對(duì)內(nèi)子網(wǎng)連接.

(3)對(duì)外子網(wǎng)與外網(wǎng)之間使用防火墻設(shè)備加強(qiáng)安全性,并使用負(fù)載均衡設(shè)備將來(lái)自外網(wǎng)的數(shù)據(jù)請(qǐng)求合理的分配到每個(gè)DataNode上[3].

圖2 HDFS應(yīng)用架構(gòu)Fig.1 HDFS application cluster

采用這種架構(gòu)的優(yōu)點(diǎn)是:

(1)采用內(nèi)外子網(wǎng)的劃分方式,減輕了傳統(tǒng)HDFS集群中NameNode的性能瓶頸和單個(gè)網(wǎng)絡(luò)中的頻繁數(shù)據(jù)擁堵問(wèn)題.

(2)由DataNode負(fù)責(zé)直接處理外網(wǎng)的數(shù)據(jù)請(qǐng)求,配合使用負(fù)載均衡設(shè)備,在減少NameNode壓力的同時(shí),提高了數(shù)據(jù)請(qǐng)求的處理速度和整個(gè)集群的數(shù)據(jù)處理效率.

(3)加入防火墻設(shè)備,增強(qiáng)了數(shù)據(jù)的安全性.

這種架構(gòu)也存在不足之處:

(1)沒(méi)有改變集群中單NameNode的方式,仍然存在單NameNode帶來(lái)的性能瓶頸和可靠性問(wèn)題.

(2)內(nèi)外子網(wǎng)劃分的方式增加了系統(tǒng)實(shí)現(xiàn)和維護(hù)的復(fù)雜度.

(3)仍然存在小文件I/O的效率問(wèn)題.

2 緩存設(shè)計(jì)

2.1 緩存設(shè)計(jì)需要解決的問(wèn)題

由于上述應(yīng)用架構(gòu)仍然存在小文件I/O的效率問(wèn)題,而互聯(lián)網(wǎng)中的數(shù)據(jù)一般具有以下特點(diǎn):(1)小文件所占的比例很高;(2)大部分文件在創(chuàng)建后很少會(huì)被修改;(3)大部分?jǐn)?shù)據(jù)讀取請(qǐng)求集中于小部分經(jīng)常被訪問(wèn)的文件,而其余大部分文件被訪問(wèn)到的次數(shù)很少.這些特點(diǎn)正符合緩存的使用場(chǎng)景,因此本文使用緩存技術(shù)對(duì)上述應(yīng)用架構(gòu)進(jìn)行優(yōu)化.在設(shè)計(jì)緩存時(shí),主要應(yīng)解決緩存置換策略問(wèn)題[4]、所占空間大小、需要緩存文件[5]的大小等問(wèn)題.

2.2 緩存設(shè)計(jì)方案

(1)置換策略:由于緩存的空間是有限的,在緩存填滿時(shí)的置換策略,本文使用最早被訪問(wèn)置換策略.

(2)緩存空間:由于DataNode結(jié)點(diǎn)需要將更多的空間留給HDFS,如果要求所有經(jīng)常被訪問(wèn)到的文件都被存儲(chǔ)在緩存中,則緩存在本地磁盤(pán)中所占的比例p由下式可得:

其中:n為數(shù)據(jù)塊的冗余度,f為所有文件中經(jīng)常被訪問(wèn)的比例.

(3)需要緩存文件的大小限制:過(guò)大的文件在置換到緩存中時(shí),會(huì)導(dǎo)致很多小文件被置換出緩存;同時(shí)文件越大,文件尋址時(shí)間造成的效率問(wèn)題就越小,因此有必要對(duì)需要緩存的文件大小進(jìn)行限制.當(dāng)尋址時(shí)間占讀取總時(shí)間的比例大于或等于某一給定值時(shí),需要被緩存.數(shù)據(jù)塊大小f由下式可得:

其中:f為數(shù)據(jù)塊大?。∕B),t為平均尋址時(shí)間(ms),s為網(wǎng)絡(luò)傳輸速度(MB/s),r為設(shè)定緩存時(shí)尋址時(shí)間占讀取總時(shí)間應(yīng)達(dá)到的比例.

3 實(shí)驗(yàn)設(shè)計(jì)與結(jié)果分析

3.1 實(shí)驗(yàn)環(huán)境與目的

系統(tǒng)中設(shè)置1個(gè)NameNode,2個(gè)DataNode,2臺(tái)100M以太網(wǎng)交換機(jī).其上部署Ubuntu 9.04,Ha?doop 0.20.203.0,JDK 6,Bash等軟件環(huán)境.通過(guò)部署實(shí)驗(yàn)平臺(tái),驗(yàn)證設(shè)計(jì)的HDFS應(yīng)用架構(gòu)是否可行.在無(wú)緩存和有緩存情況下進(jìn)行大量小文件讀取測(cè)試,記錄和比較每項(xiàng)測(cè)試花費(fèi)的時(shí)間,來(lái)驗(yàn)證緩存對(duì)于提高HDFS中小文件讀取效率的效果.

3.2 實(shí)驗(yàn)內(nèi)容

實(shí)驗(yàn)的內(nèi)容是進(jìn)行緩存效率測(cè)試.緩存效率實(shí)驗(yàn)所需的數(shù)據(jù)設(shè)定為1 000個(gè)100 KB的文件,并設(shè)計(jì)一個(gè)測(cè)試程序,通過(guò)模擬多線程連續(xù)讀取大量文件來(lái)測(cè)試緩存的性能.測(cè)試分為6次進(jìn)行,根據(jù)緩存大小與HDFS中所有文件體積之和的比例,將緩存條件分別設(shè)置為無(wú)緩存、20%緩存,40%緩存,60%緩存,80%緩存,100%緩存,每次測(cè)試中讀取文件系統(tǒng)中的任意文件2 100次.

3.3 實(shí)驗(yàn)結(jié)果分析

從圖3中可以看出:隨著緩存容量增大,文件讀取時(shí)間顯著減少,說(shuō)明緩存對(duì)小文件效率優(yōu)化起到了較好的作用,證明了緩存優(yōu)化的可行性.而隨著緩存容量減少,讀取時(shí)間快速增加.在20%緩存時(shí),讀取時(shí)間已經(jīng)超過(guò)了沒(méi)有緩存的情況,這是因?yàn)榫彺嫒萘繙p少時(shí),被訪問(wèn)文件存在于緩存中的幾率減少,緩存程序需要頻繁地處理文件的置換工作,比較明顯的影響了緩存工作的效率.尤其當(dāng)緩存容量非常小時(shí),這種置換工作帶來(lái)的消耗使效率降低到了比不使用緩存更差的程度,因此在實(shí)際應(yīng)用中,應(yīng)當(dāng)考慮給緩存盡可能大的空間,在空間不足時(shí)避免使用緩存.

圖3 實(shí)驗(yàn)結(jié)果折線圖Fig.3 The line graph of experiment result

4 結(jié)語(yǔ)

實(shí)驗(yàn)證明:在實(shí)際應(yīng)用中,可以部署本文提出的HDFS應(yīng)用架構(gòu),在集群規(guī)模不大時(shí),該架構(gòu)是一個(gè)比較合適的解決方案.當(dāng)集群規(guī)模增大到一定級(jí)別之后,對(duì)外子網(wǎng)和對(duì)內(nèi)子網(wǎng)分別被劃分為多個(gè)交換機(jī)連接的網(wǎng)段,該架構(gòu)需要進(jìn)行適當(dāng)?shù)恼{(diào)整.而磁盤(pán)緩存對(duì)小文件讀取效率的優(yōu)化有較好的效果.

致謝

衷心感謝北京京北職業(yè)技術(shù)學(xué)院對(duì)教師科研工作的大力支持.

[1]Borthakur D.The hadoop distributed file system:A rchitecture and design[R].Hadoop Docs,2007.

[2]Venner J.Pro Hadoop[M].New York:Apress,2009: 21-53.

[3]柴黃琪,蘇成.基于HDFS的安全機(jī)制設(shè)計(jì)[J].計(jì)算機(jī)安全,2010,5:22-25.

CHAI Huang-qi,SU Chen.The design of security mechanism based on HDFS[J].Com puter Security,2010,5:22-25.(in Chinese)

[4]孫玉昕,章瑾.利用堆排序優(yōu)化路徑搜索效率的分析[J].武漢工程大學(xué)學(xué)報(bào),2013,35(6):51-55.

SUN Yu-xin,ZHANG Jin.The analysis of heap sort optim ization path search efficiency of[J].Journal of Wuhan Institute of Technology,2013,35(6):51-55.(in Chinese)

[5]熊俊俏,周建軍,熊詩(shī)琪.快速圖形數(shù)據(jù)采集與現(xiàn)實(shí)控制器的設(shè)計(jì)[J].武漢工程大學(xué)學(xué)報(bào),2012,34(1):61-63.

XIONG Jun-qiao,ZHOU Jian-jun,XIONG Shi-qi. Design of Journal[J].fast graphics data acquisition and real controller of Wuhan Institute of Technology,2012,34(1):61-63.(in Chinese)

Optimization scheme of cluster architecture of small and medium scaleHadoop distributed file system

BAIJun1,WANG Xin2,GENG Xin2
(1. Department of Electrical Engineering,Northern BeiJing Vocational Education Institute,BeiJing 101400,China)2. Department of Computer Science ,China University of Petroleum,Beijing 102249,China)

Aimed at the low efficiency of distributed file system dealing with small files, we proposed anapplication structure of small and medium- sized distributed file system cluster, the intranet of which wasdivided into external subnet and internal subnet. The external subnet was used to transport the exchange datato external network. The internal subnet was used to transport the management data in distributed file system.Every data node was connected to both two subnets to exchange data with external network replacing thename node,while the name node was connected only with internal subnet. The safety was enforced by usingfirewalls between external subnet and internal subnet. The data requests from the external network wereassigned to each data node reasonably through load balancing device. Because of the existence of efficiencyproblem in small files,we optimized small files operation through adding caching behavior,deployingexperimental environment and designing a test program for caching efficiency test. We tested the cacheperformance by simulating multithreading continuous reading large files using 1000 files of 100KB.Experiments prove that the efficiency of processing small file in system is improved by adding disk buffer andthe system optimization effect is remarkable.

cache;small and medium-sized distributed file system;management data

TP311.13

A

10.3969/j.issn.1674-2869.2014.01.014

1674-2869(2014)01-0069-05

本文編輯:陳小平

2014-01-03

十二五國(guó)家科技重大專項(xiàng)課題子課題(2011ZX05023-005-006)

白?。?981-),女,河南洛陽(yáng)人,講師,碩士.研究方向:數(shù)據(jù)庫(kù),數(shù)據(jù)分析.

猜你喜歡
子網(wǎng)結(jié)點(diǎn)集群
一種簡(jiǎn)單子網(wǎng)劃分方法及教學(xué)案例*
LEACH 算法應(yīng)用于礦井無(wú)線通信的路由算法研究
基于八數(shù)碼問(wèn)題的搜索算法的研究
海上小型無(wú)人機(jī)集群的反制裝備需求與應(yīng)對(duì)之策研究
子網(wǎng)劃分問(wèn)題研究及應(yīng)用
一種無(wú)人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
勤快又呆萌的集群機(jī)器人
子網(wǎng)劃分的簡(jiǎn)易方法
VLSM技術(shù)應(yīng)用——以賀州學(xué)院行政辦公樓網(wǎng)絡(luò)為例