《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(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.中國(guó)人民解放軍71375部隊(duì),,山東 濰坊 261053)
摘要: Hadoop工具核心模塊包括分布式文件系統(tǒng)(Hadoop Distributed File System,,HDFS)和分布式編程模型MapReduce,其中HDFS是Hadoop數(shù)據(jù)存儲(chǔ)處理的核心模塊,,但目前缺乏有效的HDFS可視化管理工具,,因此設(shè)計(jì)實(shí)現(xiàn)了一套可視化管理工具,該工具基于Java Swing組件開發(fā),。以此工具為基礎(chǔ),,搭建了一套基于Hadoop的海量遙感數(shù)據(jù)云存儲(chǔ)系統(tǒng)。實(shí)驗(yàn)表明,,該系統(tǒng)界面友好,,易于部署,可以很好地支持HDFS可視化管理,。
Abstract:
Key words :

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

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

0 引言

  近年來,,隨著遙感技術(shù)的發(fā)展,,遙感數(shù)據(jù)的類型不斷擴(kuò)展,遙感數(shù)據(jù)的量級(jí)在不斷增加,,這給遙感數(shù)據(jù)的管理帶來了新的挑戰(zhàn)。云計(jì)算作為大數(shù)據(jù)時(shí)代的典型技術(shù)代表,,可以有效地進(jìn)行海量遙感數(shù)據(jù)的處理,。Hadoop[1]是目前云計(jì)算技術(shù)應(yīng)用最廣泛的一個(gè)技術(shù)平臺(tái),是谷歌文件系統(tǒng)[2]和MapReduce編程模型的開源實(shí)現(xiàn)[2],。然而如何使用Hadoop技術(shù)進(jìn)行海量遙感數(shù)據(jù)的處理,,是一個(gè)值得研究的問題。為了對(duì)海量遙感數(shù)據(jù)進(jìn)行有效的管理,,需開發(fā)一套基于Hadoop集群的云存儲(chǔ)系統(tǒng),。該系統(tǒng)可對(duì)海量遙感數(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)

  為了搭建國(guó)產(chǎn)軟硬件環(huán)境下的云存儲(chǔ)平臺(tái),,本文采用Hadoop作為基礎(chǔ)軟件,。該平臺(tái)目前已經(jīng)發(fā)展成為包括HDFS[3]、分布式編程模型MapReduce,、數(shù)據(jù)庫(kù)(HBase,、Cassandra)、數(shù)據(jù)倉(cāng)庫(kù)Hive和數(shù)據(jù)流處理語(yǔ)言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)級(jí)別的數(shù)據(jù),,對(duì)硬件要求比較低,,容錯(cuò)性好,可靠性高,。Hadoop2.0之前的版本,,HDFS集群通常包括一個(gè)NameNode(主節(jié)點(diǎn))和若干個(gè)DataNode(從節(jié)點(diǎn))[5]。NameNode管理命名空間,,維護(hù)整個(gè)文件系統(tǒng)的文件目錄樹及這些文件的索引目錄,。DataNode是文件系統(tǒng)工作節(jié)點(diǎn),用來執(zhí)行具體的任務(wù),。同時(shí),,它可以通過心跳(Heartbeat)定時(shí)向NameNode發(fā)送所存儲(chǔ)的文件塊信息[6]。

1.2 HDFS常見管理工具

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

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

009.jpg

  HDFS應(yīng)用程序接口是Hadoop為第三方軟件提供的交互接口,。這種方法的優(yōu)點(diǎn)是操作簡(jiǎn)單,,對(duì)用戶專業(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)是操作簡(jiǎn)便快捷,易于部署,;缺點(diǎn)是功能相對(duì)簡(jiǎn)單,,只是實(shí)現(xiàn)了基本的功能。此外,,用戶通過瀏覽器可以直接訪問Hadoop集群的50030端口,,但是這種方式只可以瀏覽顯示HDFS文件系統(tǒng),用戶無法與HDFS交互,。

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

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

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

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

002.jpg

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

  HDFS可視化管理系統(tǒng)設(shè)計(jì)的主界面包括4個(gè)區(qū)域:標(biāo)題欄,、工具欄、HDFS目錄顯示區(qū)域和文件信息顯示區(qū)域,。其中標(biāo)題欄包括文件管理按鈕和集群信息管理按鈕,通過這兩個(gè)按鈕可以調(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)對(duì)話框用來顯示提示信息。

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)行,本文首先搭建了一個(gè)Hadoop集群,。本文搭建的Hadoop集群采用0.20.2版本,,包括1個(gè)NameNode節(jié)點(diǎn)和6個(gè)DataNode節(jié)點(diǎn)。目前集群配置存儲(chǔ)空間大小為1.19 TB,,包括21 628個(gè)文件和目錄,,21 067個(gè)文件塊,塊大小為128 MB,;HDFS文件備份數(shù)量采用默認(rèn)的3個(gè),。集群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)功能測(cè)試

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

005.jpg

006.jpg

007.jpg

008.jpg

4 結(jié)論

  本文針對(duì)Hadoop分布式文件系統(tǒng)缺乏界面友好的可視化管理工具的問題,,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)HDFS可視化管理系統(tǒng)。該管理系統(tǒng)核心功能通過封裝HDFS命令轉(zhuǎn)換為Java可以識(shí)別的對(duì)象實(shí)現(xiàn),。該系統(tǒng)已經(jīng)在基于國(guó)產(chǎn)軟硬件環(huán)境的云存儲(chǔ)系統(tǒng)中得到應(yīng)用,,經(jīng)過實(shí)驗(yàn)證明,該系統(tǒng)提供了一個(gè)簡(jiǎn)便易操作的HDFS可視化管理工具,,提高了云計(jì)算的數(shù)據(jù)管理水平,。下一步研究的重點(diǎn)是設(shè)計(jì)實(shí)現(xiàn)基于此管理系統(tǒng)的云計(jì)算平臺(tái),為集群外的節(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é)報(bào),,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].袁國(guó)忠,張劼,,譯.北京:人民郵電出版社,,2008.


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