999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Hadoop分布式文件系統的單點問題的研究

2014-12-13 20:01:48宋繼紅,李夢楠,郝得智
軟件工程 2014年12期

宋繼紅,李夢楠,郝得智

摘? 要:從Hadoop分布式文件系統的架構出發,對NameNode節點存在的單點問題進行了分析與研究。在這個前提下,針對單點內存瓶頸問題,提出了一個小文件歸并算法。此算法以Hadoop為基礎,利用Hadoop分布式文件系統的特點,將歸并后生成的大文件序列化到Hadoop分布式文件系統,很好地解決了小文件過多時NameNode單點內存瓶頸問題,并提高了系統的性能和可靠性。

關鍵詞:Hadoop;小文件歸并;分布式文件系統

中圖分類號:TP393.0?????????? 文獻標識碼:A

1?? 引言(Introduction)

如今網絡的飛速發展,數據量的增多,這就要求數據庫能夠具有處理超大規模數據的能力。Hadoop分布式平臺的出現,很好地解決了處理海量數據的難題。Hadoop集群架構有兩個核心的設計,分別是HDFS(Hadoop Distributed File System)和MapReduce[1]。由于HDFS只有一個元數據服務器NameNode,導致HDFS存在單點故障,單點內存不足等問題。本文在分析研究HDFS單點問題的基礎上,針對單點內存瓶頸問題,提出了一種新型的上層歸檔文件系統,用來優化海量小文件的處理,可有效地解決單點內存瓶頸問題。

2?? HDFS架構(HDFS architecture)

Hadoop分布式文件系統(HDFS)是Hadoop分布式平臺的一個核心組件,其設計目的是為了解決超大文件存儲難題[2]。HDFS是由一個主節點和多個子節點構成的主從結構。主節點被稱為名稱節點(NameNode),子節點被稱為數據節點(DataNode)。HDFS的架構圖如圖1所示。

圖1 HDFS架構圖

Fig.1 The architecture diagram of HDFS

名稱節點主要負責管理分布式文件系統中的元數據信息,處理用戶文件訪問操作請求等。而被上傳到Hadoop分布式文件系統中的大數據則保存在數據節點中。通過心跳機制,每隔一段時間數據節點與名稱節點進行信息交互[3]。

Hadoop分布式文件系統包含名稱節點、數據節點、數據塊、數據包等組件。

名稱節點(NameNode)是HDFS的主節點,負責管理并維護整個分布式文件系統的元數據信息,即:FSImage信息和EditLog信息[4]。NameNode又決定了大數據文件與數據塊之間的映射,數據塊與數據節點之間的映射,處理客戶端發來的文件操作訪問請求。

數據節點(DataNode)主要負責存儲數據文件,并且每隔一段時間向主節點發送存儲數據映射列表。

數據塊(Data Block)。分布式文件系統存儲的數據都存儲在數據塊中[5]。上傳的數據文件首先被分割成默認大小64MB的數據塊,然后文件以數據塊的形式存放在不同的DataNode節點上,是分布式文件系統存儲數據的基本單位。為了防止數據塊丟失,每塊默認復制三塊,其中兩個數據塊存儲在一個機架中,另一個數據塊則被存儲在其他的機架中,大大提高了HDFS數據的可用性。

數據包(Data Packet)。在執行寫操作時,需要將上傳的數據先保存在本地目錄中,待累計到系統規定值后才將數據一次寫入到Hadoop分布式文件系統中。這樣,每次上傳的數據稱為一個數據包。

3?? NameNode單點問題分析(NameNode single

point problem analysis)

3.1?? 單點故障

單點故障是指引起系統整體失效的部件,當該部件失效時,會造成整個系統無法工作。Hadoop分布式文件系統由一個主節點和多個子節點構成的。NameNode節點負責管理和維護所有的命名空間和元數據信息,名稱節點主要負責管理分布式文件系統中的元數據信息,處理用戶文件訪問操作請求等。一旦發生主節點故障會使整個系統無法正常工作,這對于使用者來說是災難性的。

3.2?? 性能瓶頸

NameNode節點主要負責管理并維護整個分布式文件系統的元數據信息,處理用戶文件訪問操作請求。每次用戶發出文件訪問操作請求時,NameNode節點都需要響應客戶端的請求[6]。由于HDFS僅有一個名稱節點,當大量客戶端同時發出文件訪問操作請求,單一的名稱節點無法及時一一做出響應,這必然會對HDFS正常運行造成嚴重的影響,是HDFS的性能瓶頸。

3.3?? 內存瓶頸

NameNode節點中保存了整個系統的命名空間,負責管理并維護整個分布式文件系統的元數據信息,即:FSImage信息和EditLog信息。對于每個上傳的文件,NameNode節點會為其自動生成相應的元數據信息,而這些元數據信息會占用少許的主節點內存空間[7]。HDFS適合存儲大數據文件,一般情況下,NameNode節點存儲的元數據信息不會對整個Hadoop集群造成影響。上傳文件后,用戶更多的是與數據節點進行訪問交互,不會對訪問性能造成影響。然而用戶選擇上傳海量的小文件時,元數據節點需要為每個小文件生成對應的元數據信息,這勢必對NameNode單點內存性能造成影響,從而對整個Hadoop集群的擴展性造成影響。一般,當用戶上傳小文件數量達到一億,相應的元數據信息約占主節點20G的存儲空間。若上傳的小文件以指數級增長,HDFS集群將不足以支持海量文件的存儲。同樣,NameNode內存瓶頸嚴重制約了集群的擴展。endprint

目前,Hadoop0.18.0版本引入了HAR(Hadoop archives)技術,它可以將眾多小文件打包成一個大文件進行存儲,減少HDFS中小文件數量,主要解決的是小文件占用大量Namenode內存空間。但是它是一個人工干預的過程,同時既不能夠支持自動刪除原小文件,也不支持追加操作,當有新文件進來以后,需要重新打包。還有一些針對具體問題的小文件解決方案,如WebGIS提出適用于地理信息系統信息存儲機制,和指定存儲格式為PPT格式的解決方案。這些解決方案可以有效解決HDFS單點內存瓶頸問題[8],但均局限于指定的應用環境,不適用其他類型文件的存儲,如海量存儲MP3格式的文件。

針對HDFS單點內存瓶頸問題,本文提出了新型的上層歸檔文件系統,用來優化海量小文件的處理。

4? 對小文件存儲優化的實現(Implementation of

small file storage optimization)

4.1?? 基本思想

上傳小文件前,首先對海量小文件進行預處理,將本地目錄中需要處理的小文件寫入HashMap集合中,同時通過格式轉換生成文件流式集合,其中小文件文件名作為key,文件內容作為value。然后以SequenceFile作為容器,再將HashMap中存儲的海量小文件進行歸檔合并成一個大文件。最后,將合并后的大文件上傳Hadoop服務器序列化存儲在HDFS中,從而緩解了NameNode節點內存瓶頸問題。處理海量小文件流程如圖2所示。

圖2 海量小文件處理

Fig.2 Massive small files processing

4.2?? SmallFilesWrite類的實現

SmallFilesWrite類中,成員變量有兩個,就是String類型的靜態成員變量SOURCE_PATH和TARGET_PATH,SOURCE_PATH變量表示源路徑,即預上傳文件本地目錄路徑。TARGET_PATH表示目標路徑,即上傳到指定Hadoop分布式文件系統路徑。成員方法主要有readFiles方法、file2Bytes方法和main方法。

(1)readFiles方法

上傳小文件前,首先對海量小文件進行預處理,將本地目錄中需要處理的小文件寫入HashMap集合中,其中小文件文件名作為key,文件內容作為value。

首先,在readFiles方法中創建一個File的對象directory,然后調用listFiles方法獲取SOURCE_PATH指定路徑中的文件的內容。將獲取的文件存儲在創建的File[]數組中。最后map對象調用put方法,將讀取的小文件循環寫入到HashMap集合中。這里file[]數組元素調用getName方法獲取文件名,作為Map集合中的key,同時調用file2Bytes方法,將文件內容作為Map集合中的value存儲。

(2)file2Bytes方法

在Hadoop分布式文件系統中,讀寫數據的方式滿足流式讀寫,目的可以提高數據訪問的吞吐量。為支持不同格式小文件合并,編寫了一個file2Bytes方法,該方法的形式參數為String類型的filename,這個參數代表本地目錄中預處理文件的文件名。創建FileInputStream對象fis,對其進行初始化,并拋出異常。然后使用對象fis的available方法,目的使其可以不受阻塞地從此輸入流中讀取(或跳過)的估計剩余字節數。再然后定義一個byte類型的long_buf數組,將本地目錄中的小文件進行格式轉換,轉換成字節流寫入long_buf數組中。這樣讀寫數據的方式滿足流式讀寫,同時解決了不同格式的小文件合并問題。

(3)main方法

main方法實現了將海量小文件進行歸并處理,生成一個大文件,最后將其分布并發存儲到HDFS中。通過遍歷Map,迭代輸出集合中元素;創建Text對象key,BytesWritable對象value,key調用set方法獲取輸出集合中元素的key值,value調用set方法獲取拷貝的文件內容,偏移量及文件長度;返回一個SequenceFile.Writer實例,這里需要創建FileSystem和Path對象,將數據內容寫入path對象,調用append方法完成小文件的追加寫入。實現將海量小文件歸并處理,生成一個大文件。

4.3?? 文件的訪問

自定義一個FileOutputStream文件輸出流對象,指定輸出目錄將需要訪問的文件流式讀出,將讀出的文件返回給需要訪問的用戶。訪問某文件時,首先獲取SmallFilesWrite中HDFS中輸入目錄,創建SequenceFile.Reader對象,通過迭代獲取序列文件名和該文件名所對應的文件。

5?? 結論(Conclusion)

本文針對Hadoop分布式文件系統的單點內存瓶頸問題,提出了采用小文件歸并的優化算法。根據Hadoop存儲數據特點,利用小文件合并大文件,可有效減少元數據的生成,解決了單點內存瓶頸問題。在Hadoop分布式文件系統單點內存瓶頸優化的基礎上,對Hadoop分布式文件系統的性能瓶頸的優化將是本人未來主要研究的內容。

參考文獻(Reference)

[1] Tom White,Hadoop.周敏齊,等,譯.權威指南(第二版)[M].北

京:清華大學出版社,2011.

[2] Chuck Lam.Hadoop.韓冀中,譯.實戰[M].北京:人民郵電出版

社,2011.

[3] 雷萬云,等.云計算:技術、平臺及應用案例[M].北京:清華大

學出版社,2011.

[4] The Apache Software Foundation HDFS ArchitectureGuide[EB/

OL].[2011-05-04].http://hadoop.apache.org/co-mmon/docs/

current/hdfs_design.html.

[5] DANIELN,RICH Wolski,CHRISG,etal.The Eucalyptus

OpenSource Cloud-Computing System[J].IEEE Computer

Society,2009,24(08):124-131.

[6] Venner J. Pro Hadoop[M]. New York:Apress,2009.

[7] Hadoop[EB/OL],http://hadoop.apache.org/.2011.

[8] Grant Mackey,Saba Sehrish,Jun Wang.Improving Metadata

Management for Small Files in HDFS[J].IEEE International

Conference on Cluster Computing and Workshops,2009:1-4.

作者簡介:

宋繼紅(1963-),女,碩士,副教授.研究領域:計算機網絡

通信,計算機網絡遠程控制,嵌入式技術.

李夢楠(1989-),男,碩士生.研究領域:計算機網絡.

郝得智(1989-),男,碩士生.研究領域:計算機控制.endprint

[2] Chuck Lam.Hadoop.韓冀中,譯.實戰[M].北京:人民郵電出版

;?;?;?;?; 社,2011.

[3] 雷萬云,等.云計算:技術、平臺及應用案例[M].北京:清華大

;?;?;?; 學出版社,2011.

[4] The Apache Software Foundation HDFS ArchitectureGuide[EB/

;?;?;?; OL].[2011-05-04].http://hadoop.apache.org/co-mmon/docs/

;?;?;?; current/hdfs_design.html.

[5] DANIELN,RICH Wolski,CHRISG,etal.The Eucalyptus

;?;?; OpenSource Cloud-Computing System[J].IEEE Computer

;?;?;?;?; Society,2009,24(08):124-131.

[6] Venner J. Pro Hadoop[M]. New York:Apress,2009.

[7] Hadoop[EB/OL],http://hadoop.apache.org/.2011.

[8] Grant Mackey,Saba Sehrish,Jun Wang.Improving Metadata

;?; Management for Small Files in HDFS[J].IEEE International

;?;?;?; Conference on Cluster Computing and Workshops,2009:1-4.

作者簡介:

宋繼紅(1963-),女,碩士,副教授.研究領域:計算機網絡

;?;?;?;?;?; 通信,計算機網絡遠程控制,嵌入式技術.

李夢楠(1989-),男,碩士生.研究領域:計算機網絡.

郝得智(1989-),男,碩士生.研究領域:計算機控制.endprint

[2] Chuck Lam.Hadoop.韓冀中,譯.實戰[M].北京:人民郵電出版

;?;?;?;?; 社,2011.

[3] 雷萬云,等.云計算:技術、平臺及應用案例[M].北京:清華大

;?;?;?; 學出版社,2011.

[4] The Apache Software Foundation HDFS ArchitectureGuide[EB/

;?;?;?; OL].[2011-05-04].http://hadoop.apache.org/co-mmon/docs/

;?;?;?; current/hdfs_design.html.

[5] DANIELN,RICH Wolski,CHRISG,etal.The Eucalyptus

;?;?; OpenSource Cloud-Computing System[J].IEEE Computer

;?;?;?;?; Society,2009,24(08):124-131.

[6] Venner J. Pro Hadoop[M]. New York:Apress,2009.

[7] Hadoop[EB/OL],http://hadoop.apache.org/.2011.

[8] Grant Mackey,Saba Sehrish,Jun Wang.Improving Metadata

;?; Management for Small Files in HDFS[J].IEEE International

;?;?;?; Conference on Cluster Computing and Workshops,2009:1-4.

作者簡介:

宋繼紅(1963-),女,碩士,副教授.研究領域:計算機網絡

;?;?;?;?;?; 通信,計算機網絡遠程控制,嵌入式技術.

李夢楠(1989-),男,碩士生.研究領域:計算機網絡.

郝得智(1989-),男,碩士生.研究領域:計算機控制.endprint

[2] Chuck Lam.Hadoop.韓冀中,譯.實戰[M].北京:人民郵電出版

;?;?;?;?; 社,2011.

[3] 雷萬云,等.云計算:技術、平臺及應用案例[M].北京:清華大

;?;?;?; 學出版社,2011.

[4] The Apache Software Foundation HDFS ArchitectureGuide[EB/

;?;?;?; OL].[2011-05-04].http://hadoop.apache.org/co-mmon/docs/

;?;?;?; current/hdfs_design.html.

[5] DANIELN,RICH Wolski,CHRISG,etal.The Eucalyptus

;?;?; OpenSource Cloud-Computing System[J].IEEE Computer

;?;?;?;?; Society,2009,24(08):124-131.

[6] Venner J. Pro Hadoop[M]. New York:Apress,2009.

[7] Hadoop[EB/OL],http://hadoop.apache.org/.2011.

[8] Grant Mackey,Saba Sehrish,Jun Wang.Improving Metadata

;?; Management for Small Files in HDFS[J].IEEE International

;?;?;?; Conference on Cluster Computing and Workshops,2009:1-4.

作者簡介:

宋繼紅(1963-),女,碩士,副教授.研究領域:計算機網絡

;?;?;?;?;?; 通信,計算機網絡遠程控制,嵌入式技術.

李夢楠(1989-),男,碩士生.研究領域:計算機網絡.

郝得智(1989-),男,碩士生.研究領域:計算機控制.endprint

主站蜘蛛池模板: 亚洲精品欧美日本中文字幕| 亚洲免费人成影院| 亚洲狠狠婷婷综合久久久久| 国产免费久久精品44| 亚洲另类国产欧美一区二区| 日韩在线第三页| 日本午夜精品一本在线观看 | 欧美一级高清片久久99| 无码精品国产VA在线观看DVD| 老色鬼欧美精品| 亚洲成年人网| 国产午夜看片| 国产区在线看| 亚洲天堂网在线观看视频| 自拍偷拍欧美日韩| jizz国产在线| 成人免费一区二区三区| 强乱中文字幕在线播放不卡| 久久亚洲中文字幕精品一区| 亚洲无码高清视频在线观看 | av尤物免费在线观看| 亚洲天堂网视频| 婷婷亚洲视频| 午夜精品区| 国产欧美日韩综合一区在线播放| 天堂网国产| 国产精品久久自在自2021| www.亚洲一区二区三区| 91免费在线看| 国产精品理论片| 久久久精品无码一二三区| 在线五月婷婷| 免费播放毛片| 好紧好深好大乳无码中文字幕| 亚洲无线一二三四区男男| 日本一本正道综合久久dvd | 国产97公开成人免费视频| 国产精品v欧美| 风韵丰满熟妇啪啪区老熟熟女| 国产三区二区| 国产区在线看| 最近最新中文字幕免费的一页| AV在线天堂进入| 国模在线视频一区二区三区| a亚洲视频| 久久亚洲中文字幕精品一区| 免费欧美一级| 亚洲精品国产日韩无码AV永久免费网 | 亚洲美女一区二区三区| 国产精品99久久久久久董美香| 71pao成人国产永久免费视频| 欧美日韩国产高清一区二区三区| 国产在线观看91精品| 91丝袜乱伦| 亚洲精品人成网线在线| 天堂岛国av无码免费无禁网站| 永久免费无码日韩视频| 996免费视频国产在线播放| 日本草草视频在线观看| 91在线无码精品秘九色APP| 五月激激激综合网色播免费| 91精品伊人久久大香线蕉| 5388国产亚洲欧美在线观看| 久热这里只有精品6| 青青操国产| 亚洲国产在一区二区三区| 嫩草影院在线观看精品视频| 在线观看国产精品日本不卡网| 99国产精品一区二区| 毛片免费视频| 亚洲欧美在线综合一区二区三区| 一级毛片视频免费| 久热中文字幕在线| 日韩免费中文字幕| 自拍偷拍欧美| 狠狠做深爱婷婷久久一区| 精品视频第一页| 国产在线精彩视频论坛| 狂欢视频在线观看不卡| 婷婷综合色| 九九久久99精品| 亚洲AⅤ永久无码精品毛片|