《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > HDFS可視化管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
HDFS可視化管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2015年微型機(jī)與應(yīng)用第8期
李振舉1,2,,李學(xué)軍1,,楊 晟1,羅 劍3,,張榮華4
(1.裝備學(xué)院 信息裝備系,,北京 101416; 2.裝備學(xué)院 研究生管理大隊(duì),,北京 101416,; 3.裝備學(xué)院 裝備試驗(yàn)系,北京 101416,; 4.中國人民解放軍71375部隊(duì),,山東 濰坊 261053)
摘要: Hadoop工具核心模塊包括分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)和分布式編程模型MapReduce,,其中HDFS是Hadoop數(shù)據(jù)存儲處理的核心模塊,,但目前缺乏有效的HDFS可視化管理工具,因此設(shè)計(jì)實(shí)現(xiàn)了一套可視化管理工具,該工具基于Java Swing組件開發(fā),。以此工具為基礎(chǔ),,搭建了一套基于Hadoop的海量遙感數(shù)據(jù)云存儲系統(tǒng)。實(shí)驗(yàn)表明,,該系統(tǒng)界面友好,,易于部署,可以很好地支持HDFS可視化管理,。
Abstract:
Key words :

  摘  要Hadoop工具核心模塊包括分布式文件系統(tǒng)(Hadoop Distributed File System,,HDFS)和分布式編程模型MapReduce,其中HDFS是Hadoop數(shù)據(jù)存儲處理的核心模塊,,但目前缺乏有效的HDFS可視化管理工具,,因此設(shè)計(jì)實(shí)現(xiàn)了一套可視化管理工具,該工具基于Java Swing組件開發(fā),。以此工具為基礎(chǔ),,搭建了一套基于Hadoop的海量遙感數(shù)據(jù)云存儲系統(tǒng)。實(shí)驗(yàn)表明,,該系統(tǒng)界面友好,,易于部署,可以很好地支持HDFS可視化管理,。

  關(guān)鍵詞: Hadoop,;分布式文件系統(tǒng),;可視化管理系統(tǒng)

0 引言

  近年來,,隨著遙感技術(shù)的發(fā)展,遙感數(shù)據(jù)的類型不斷擴(kuò)展,,遙感數(shù)據(jù)的量級在不斷增加,,這給遙感數(shù)據(jù)的管理帶來了新的挑戰(zhàn),。云計(jì)算作為大數(shù)據(jù)時代的典型技術(shù)代表,可以有效地進(jìn)行海量遙感數(shù)據(jù)的處理,。Hadoop[1]是目前云計(jì)算技術(shù)應(yīng)用最廣泛的一個技術(shù)平臺,,是谷歌文件系統(tǒng)[2]和MapReduce編程模型的開源實(shí)現(xiàn)[2]。然而如何使用Hadoop技術(shù)進(jìn)行海量遙感數(shù)據(jù)的處理,,是一個值得研究的問題,。為了對海量遙感數(shù)據(jù)進(jìn)行有效的管理,需開發(fā)一套基于Hadoop集群的云存儲系統(tǒng),。該系統(tǒng)可對海量遙感數(shù)據(jù)進(jìn)行管理,,與用戶進(jìn)行交互,上傳和下載海量遙感數(shù)據(jù)文件,。但是現(xiàn)有的HDFS管理工具無法高效地進(jìn)行可視化管理,,基于此,,本文設(shè)計(jì)實(shí)現(xiàn)了一套可視化管理系統(tǒng),旨在提高HDFS可視化管理的水平,,方便用戶使用,。

1 研究背景

  1.1 Hadoop生態(tài)系統(tǒng)

  為了搭建國產(chǎn)軟硬件環(huán)境下的云存儲平臺,本文采用Hadoop作為基礎(chǔ)軟件,。該平臺目前已經(jīng)發(fā)展成為包括HDFS[3]、分布式編程模型MapReduce,、數(shù)據(jù)庫(HBase,、Cassandra)、數(shù)據(jù)倉庫Hive和數(shù)據(jù)流處理語言Pig在內(nèi)的完整的生態(tài)系統(tǒng)(Ecosystem)[4],。系統(tǒng)結(jié)構(gòu)框架如圖1所示,。從某種程度上可以說,Hadoop已經(jīng)成為大數(shù)據(jù)處理工具事實(shí)上的標(biāo)準(zhǔn),。

001.jpg

  HDFS是Hadoop生態(tài)系統(tǒng)的核心子項(xiàng)目之一,,基于流數(shù)據(jù)模式和處理超大文件的需求開發(fā),可以處理TB(TeraByte)甚至是PB(PeteByte)級別的數(shù)據(jù),,對硬件要求比較低,,容錯性好,可靠性高,。Hadoop2.0之前的版本,,HDFS集群通常包括一個NameNode(主節(jié)點(diǎn))和若干個DataNode(從節(jié)點(diǎn))[5]。NameNode管理命名空間,,維護(hù)整個文件系統(tǒng)的文件目錄樹及這些文件的索引目錄,。DataNode是文件系統(tǒng)工作節(jié)點(diǎn),用來執(zhí)行具體的任務(wù),。同時,,它可以通過心跳(Heartbeat)定時向NameNode發(fā)送所存儲的文件塊信息[6]。

1.2 HDFS常見管理工具

  現(xiàn)有HDFS的管理工具可以分為三類:HDFS自帶的命令行工具,、HDFS應(yīng)用程序接口(API)和基于Web的HDFS管理工具,。

  HDFS自帶的命令行工具運(yùn)行在操作系統(tǒng)的shell終端,由一系列的命令組成,。其優(yōu)點(diǎn)是簡單快捷,,無需安裝其他軟件;缺點(diǎn)是可視化程度不高,,各種命令比較多,,用戶需要具備專業(yè)的水平才能完全掌握。常見的HDFS命令如表1所示[7],。

009.jpg

  HDFS應(yīng)用程序接口是Hadoop為第三方軟件提供的交互接口,。這種方法的優(yōu)點(diǎn)是操作簡單,,對用戶專業(yè)水平要求不高;缺點(diǎn)是只有在安裝了Eclipse IDE的機(jī)器上才能運(yùn)行,。HDFS中提供的API功能如表2所示,。

010.jpg

  基于Web的管理工具研究是在前兩種工具的基礎(chǔ)上開發(fā)而來的,黃文依等人[7]在研究HDFS架構(gòu)的基礎(chǔ)上,,設(shè)計(jì)實(shí)現(xiàn)了基于Web的HDFS可視化文件訪問系統(tǒng),。其優(yōu)點(diǎn)是操作簡便快捷,易于部署,;缺點(diǎn)是功能相對簡單,,只是實(shí)現(xiàn)了基本的功能。此外,,用戶通過瀏覽器可以直接訪問Hadoop集群的50030端口,,但是這種方式只可以瀏覽顯示HDFS文件系統(tǒng),用戶無法與HDFS交互,。

  通過以上內(nèi)容可以看出,,HDFS現(xiàn)有的可視化系統(tǒng)可視化程度不高,用戶友好程度相對不高,。如何設(shè)計(jì)和實(shí)現(xiàn)用戶界面友好的HDFS可視化管理系統(tǒng),,是一個需要解決的問題。

2 HDFS可視化管理系統(tǒng)的設(shè)計(jì)

  2.1 系統(tǒng)功能設(shè)計(jì)

  本文設(shè)計(jì)的HDFS可視化管理系統(tǒng)一方面完成文件(夾)與Hadoop集群之間的交互,,另一方面可對集群的一些基本信息進(jìn)行顯示,。HDFS可視化系統(tǒng)的功能從整體上包含文件管理模塊和集群信息模塊。其中文件管理模塊負(fù)責(zé)HDFS文件信息的顯示,、目錄信息的管理以及HDFS文件與本地文件之間的交互,,包括文件上傳、文件下載[8]和文件刪除等功能,。集群信息模塊可以顯示Hadoop集群的節(jié)點(diǎn)信息,、集群的存儲容量和提供幫助信息等。HDFS可視化系統(tǒng)的功能結(jié)構(gòu)圖如圖2所示,。

002.jpg

  2.2 系統(tǒng)界面設(shè)計(jì)

  HDFS可視化管理系統(tǒng)設(shè)計(jì)的主界面包括4個區(qū)域:標(biāo)題欄,、工具欄、HDFS目錄顯示區(qū)域和文件信息顯示區(qū)域,。其中標(biāo)題欄包括文件管理按鈕和集群信息管理按鈕,,通過這兩個按鈕可以調(diào)用文件管理模塊和集群信息管理模塊。HDFS目錄顯示區(qū)域類似于Windows的資源管理器,,以目錄樹的形式顯示HDFS文件系統(tǒng)信息,。文件信息顯示區(qū)域用來顯示選中的文件的基本信息。

  HDFS系統(tǒng)可視化界面采用Java Swing[9]組件設(shè)計(jì)開發(fā),。界面使用到的控件包括JTree,、JLabel,、JText、JPanel等,。其中,,JTree用來管理HDFS文件系統(tǒng)目錄;JLabel顯示文件基本信息,;JPanel用來進(jìn)行控件的管理,,當(dāng)做容器用來控制界面的布局;JButtonItem用來右鍵顯示命令,。此外標(biāo)準(zhǔn)對話框用來顯示提示信息,。

3 HDFS可視化管理系統(tǒng)的實(shí)現(xiàn)

  3.1 開發(fā)及運(yùn)行環(huán)境

  HDFS可視化系統(tǒng)開發(fā)工具為Eclipse和OpenJDK 1.6.0??紤]到HDFS需要在Hadoop集群搭建的基礎(chǔ)上才能運(yùn)行,本文首先搭建了一個Hadoop集群,。本文搭建的Hadoop集群采用0.20.2版本,,包括1個NameNode節(jié)點(diǎn)和6個DataNode節(jié)點(diǎn)。目前集群配置存儲空間大小為1.19 TB,,包括21 628個文件和目錄,,21 067個文件塊,塊大小為128 MB,;HDFS文件備份數(shù)量采用默認(rèn)的3個,。集群HDFS信息如圖3所示。

003.jpg

  3.2 系統(tǒng)開發(fā)流程

004.jpg

  系統(tǒng)開發(fā)流程如圖4所示,。開發(fā)環(huán)境的操作系統(tǒng)采用Kylin Linux操作系統(tǒng),,OpenJDK版本是1.6.0。在開發(fā)環(huán)境中使用Eclipse進(jìn)行界面和功能設(shè)計(jì),,編寫代碼并且封裝成JAR包以方便部署,。開發(fā)工具采用Eclipse 3.5版本。

  3.3 系統(tǒng)功能測試

  為了驗(yàn)證HDFS可視化系統(tǒng)的可靠性,,對系統(tǒng)功能進(jìn)行測試,。目前用戶數(shù)量為10人,經(jīng)過擴(kuò)展可以添加更多用戶,。Hadoop集群信息如圖5所示,,HDFS中某一系統(tǒng)的文件信息如圖6所示,文件上傳功能如圖7所示,,文件下載功能如圖8所示,。

005.jpg

006.jpg

007.jpg

008.jpg

4 結(jié)論

  本文針對Hadoop分布式文件系統(tǒng)缺乏界面友好的可視化管理工具的問題,設(shè)計(jì)并實(shí)現(xiàn)了一個HDFS可視化管理系統(tǒng),。該管理系統(tǒng)核心功能通過封裝HDFS命令轉(zhuǎn)換為Java可以識別的對象實(shí)現(xiàn),。該系統(tǒng)已經(jīng)在基于國產(chǎn)軟硬件環(huán)境的云存儲系統(tǒng)中得到應(yīng)用,,經(jīng)過實(shí)驗(yàn)證明,該系統(tǒng)提供了一個簡便易操作的HDFS可視化管理工具,,提高了云計(jì)算的數(shù)據(jù)管理水平,。下一步研究的重點(diǎn)是設(shè)計(jì)實(shí)現(xiàn)基于此管理系統(tǒng)的云計(jì)算平臺,為集群外的節(jié)點(diǎn)訪問和數(shù)據(jù)處理提供服務(wù),。

  參考文獻(xiàn)

  [1] Apache Hadoop[EB/OL].(2009-09-12)[2014-10-15].http://hadoop.apache.org/.

  [2] GHEMAWAT S,, GOBIOFF H, LEUNG S T. The Google file system[C]. ACM SIGOPS Operating Systems Review,,ACM,, 2003,37(5):29-43.

  [3] Hadoop Distributed Filesystem[EB/OL].(2008-12-13)[2014-10-15].http://hadoop.apache.org/hdfs.

  [4] 趙書蘭.典型Hadoop云計(jì)算[M].北京:電子工業(yè)出版社,,2013.

  [5] 蔡斌,,陳湘萍.Hadoop技術(shù)內(nèi)幕:深入解析Hadoop Common和HDFS架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理[M].北京:機(jī)械工業(yè)出版社,2013.

  [6] 陸嘉恒.Hadoop實(shí)戰(zhàn)(第2版)[M].北京:機(jī)械工業(yè)出版社,,2012.

  [7] 黃文依,,王勁松,林勝.HDFS可視化操作系統(tǒng)研究與實(shí)現(xiàn)[J].天津理工大學(xué)學(xué)報,,2012,,28(1):31-34.

  [8] 曹寧,吳忠海,,劉宏志,,等.HDFS下載效率的優(yōu)化[J].計(jì)算機(jī)應(yīng)用,2010,,30(8):2060-2065.

  [9] CADENHEAD R S,, LEMAY L.21天學(xué)通Java 6(第五版)[M].袁國忠,張劼,,譯.北京:人民郵電出版社,,2008.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。