• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    HDFS可視化及其在QAR數(shù)據(jù)中的應(yīng)用研究

    2017-04-14 05:22:11馮興杰吳稀鈺
    關(guān)鍵詞:頁(yè)面集群分布式

    馮興杰,吳稀鈺

    (中國(guó)民航大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津300300)

    HDFS可視化及其在QAR數(shù)據(jù)中的應(yīng)用研究

    馮興杰,吳稀鈺

    (中國(guó)民航大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津300300)

    Hadoop是一個(gè)由Apache基金會(huì)開發(fā)的開源的云計(jì)算基礎(chǔ)框架,主要由Hadoop分布式文件系統(tǒng)(HDFS,Hadoop distributed file system)和Map/Reduce分布式計(jì)算模型組成。其中,HDFS為海量數(shù)據(jù)提供分布式存儲(chǔ),如何方便快捷地使用并管理HDFS成為目前亟待解決的問題。Hadoop提供了命令行接口與瀏覽器接口以訪問HDFS,但是其瀏覽器接口的交互界面并不友好,給用戶的使用帶來了不便,因此目前用戶訪問HDFS主要是通過命令行的方式。為了方便用戶使用并管理HDFS,在深入研究HDFS工作原理的基礎(chǔ)上,采用struts2開源架構(gòu)及JFreeChart圖表繪制類庫(kù)設(shè)計(jì)并實(shí)現(xiàn)了HDFS可視化系統(tǒng)。利用該系統(tǒng)實(shí)現(xiàn)了對(duì)海量QAR數(shù)據(jù)文件的分布式存儲(chǔ),提高了對(duì)QAR數(shù)據(jù)進(jìn)行并行化數(shù)據(jù)挖掘的效率。

    HDFS;可視化;Hadoop;QAR數(shù)據(jù)文件;集群管理

    隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,大數(shù)據(jù)已經(jīng)成為IT領(lǐng)域最受關(guān)注的熱點(diǎn)之一,云計(jì)算平臺(tái)無(wú)疑是處理大數(shù)據(jù)的最佳平臺(tái)。Hadoop作為開源的基礎(chǔ)分布式架構(gòu),現(xiàn)已廣泛應(yīng)用到FaceBook、Yahoo、阿里巴巴等國(guó)內(nèi)外知名互聯(lián)網(wǎng)企業(yè)。HDFS(Hadoop distributed file system)作為Hadoop進(jìn)行分布式計(jì)算的基石,為海量數(shù)據(jù)提供分布式存儲(chǔ)[1]。為了方便用戶使用與管理海量數(shù)據(jù),需要對(duì)HDFS進(jìn)行可視化。

    目前,對(duì)于HDFS可視化的研究不多。黃文依等[2]設(shè)計(jì)了基于WEB的HDFS可視化文件訪問系統(tǒng);欒景超等[3]提出管理HDFS集群資源的架構(gòu),實(shí)現(xiàn)HDFS資源管理器;李振舉等[4]設(shè)計(jì)并實(shí)現(xiàn)了HDFS可視化管理工具。但是基于C/S的模式導(dǎo)致其表現(xiàn)方式有限,后期維護(hù)繁瑣,同時(shí)也不利于用戶及文件使用權(quán)限的管理。因此,設(shè)計(jì)一種可交互的、界面友好并且易于維護(hù)的HDFS可視化系統(tǒng)。

    1 相關(guān)技術(shù)

    1.1 Hadoop

    Hadoop是一個(gè)分布式系統(tǒng)開源架構(gòu),能夠在計(jì)算機(jī)集群中通過使用簡(jiǎn)單的編程模型來分布式處理大規(guī)模數(shù)據(jù)集。其設(shè)計(jì)的目的在于從單一的服務(wù)器擴(kuò)充到成千上萬(wàn)臺(tái)設(shè)備,并且每臺(tái)設(shè)備都提供本地計(jì)算與存儲(chǔ)功能。Hadoop實(shí)現(xiàn)了Map/Reduce計(jì)算范式,它將應(yīng)用程序分成多個(gè)小任務(wù)運(yùn)行于集群中的節(jié)點(diǎn)[5]。此外,HDFS將數(shù)據(jù)分布式存儲(chǔ)于集群中的各個(gè)計(jì)算節(jié)點(diǎn),并且提供跨集群的較高的聚合帶寬。Hadoop基于Java實(shí)現(xiàn),通常運(yùn)行于Linux系統(tǒng)平臺(tái)。

    1.2 HDFS

    HDFS是Hadoop默認(rèn)使用的基于網(wǎng)絡(luò)環(huán)境的分布式文件系統(tǒng),具有高數(shù)據(jù)吞吐量、高容錯(cuò)、可擴(kuò)展等特點(diǎn),并能夠部署在普通商用機(jī)器硬件上。HDFS能夠?yàn)閼?yīng)用程序提供高數(shù)據(jù)吞吐量,十分適于處理超大規(guī)模數(shù)據(jù)集的應(yīng)用。同時(shí)通過將大數(shù)據(jù)文件分塊,并以副本的方式存儲(chǔ)在集群的多個(gè)節(jié)點(diǎn)的計(jì)算機(jī)上,保證了數(shù)據(jù)的高可靠性和分布式計(jì)算的高效性。HDFS主要由NameNode和DataNode以主/從(master/slave)結(jié)構(gòu)組成[6]。NameNode是HDFS的核心,管理文件系統(tǒng)的命名空間、文件與其對(duì)應(yīng)數(shù)據(jù)塊之間的聯(lián)系等元數(shù)據(jù)信息,而真正的數(shù)據(jù)則以數(shù)據(jù)塊(block)為單位存儲(chǔ)在DataNode中。從系統(tǒng)的角度來說,一個(gè)文件被劃分為若干個(gè)chunk,存儲(chǔ)于DataNode中的一個(gè)或多個(gè)block中,但是這對(duì)用戶來說是透明的,用戶能夠直接以文件的形式訪問數(shù)據(jù)。當(dāng)用戶訪問HDFS時(shí),先由NameNode執(zhí)行打開、關(guān)閉、創(chuàng)建目錄等命名空間的操作,進(jìn)而獲取block與DataNode之間的映射關(guān)系,用戶對(duì)文件系統(tǒng)的讀寫請(qǐng)求最終由DataNode來處理。HDFS架構(gòu)圖如圖1所示。

    圖1 HDFS架構(gòu)圖Fig.1 HDFS architecture

    1.3 HDFS訪問方式

    Hadoop為用戶提供了多種與HDFS交互的方式,其中命令行方式應(yīng)用的最為廣泛,在進(jìn)行應(yīng)用開發(fā)時(shí)則更多地采用API方式,另外還可以利用TCP端口通過瀏覽器的方式更為直觀地查看HDFS中的文件列表。

    1.3.1 命令行

    HDFS為用戶提供了命令行接口(DFSShell)[7]。利用它能夠?qū)Υ鎯?chǔ)于HDFS中的用戶數(shù)據(jù)進(jìn)行操作,類似于在Linux操作系統(tǒng)中使用shell工具對(duì)目錄和文件進(jìn)行操作。表1列出了HDFS文件操作常用的命令,更多命令可通過hadoop fs-help來獲取HDFS文件系統(tǒng)中的詳細(xì)操作說明信息。

    表1 HDFS文件操作常用命令Tab.1 Common commands of HDFS file operation

    1.3.2 Java API

    在Java API中,有關(guān)于HDFS文件操作的類位于org.apache.hadoop.fs。Hadoop類庫(kù)中最終面向用戶提供的接口是FileSystem[8]。

    事實(shí)上,Hadoop支持HDFS、HFTP、S3等多種文件系統(tǒng),而HDFS是Hadoop最常用的文件系統(tǒng)。這些文件系統(tǒng)都繼承了抽象基礎(chǔ)類FileSystem,并且實(shí)現(xiàn)了上傳文件、下載文件、刪除文件、重命名等基本文件操作。

    1.3.3 瀏覽器接口

    HDFS會(huì)在50070端口開啟一個(gè)Web服務(wù)器,用于公開HDFS的名字空間[9]。用戶可以用瀏覽器打開URI為http://NameNodeIP:50070來訪問HDFS的塊存儲(chǔ)信息,包括集群?jiǎn)?dòng)時(shí)間、集群版本信息、編譯時(shí)間等各種信息,用戶還可以點(diǎn)擊該頁(yè)面上browse the filesystem鏈接,以目錄的形式查看HDFS中存儲(chǔ)的文件信息,這種方式比命令行的方式更加可視化和便捷,但是用戶仍然無(wú)法與HDFS交互。另外還可以通過Web頁(yè)面查看NameNode的日志列表、正在運(yùn)行的節(jié)點(diǎn)列表等信息。

    1.3.4IDE插件

    Hadoop在早期版本中提供了一個(gè)用于在Eclipse中進(jìn)行開發(fā)的插件[10],方便用戶在IDE環(huán)境中上傳與下載HDFS中的文件。但是在Hadoop的后期版本中,不再提供官方插件,而需要用戶自行編譯插件源碼。

    2 基于Web的HDFS可視化系統(tǒng)的設(shè)計(jì)

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

    HDFS可視化系統(tǒng)采用B/S模式,能夠運(yùn)行在Window、Linux等操作系統(tǒng)下,對(duì)承載系統(tǒng)要求低。通過該系統(tǒng)對(duì)HDFS進(jìn)行操作需要先連接Hadoop集群,實(shí)際上是連接NameNode節(jié)點(diǎn),得到數(shù)據(jù)塊的位置等信息,然后在DataNode上進(jìn)行相關(guān)的數(shù)據(jù)操作[11]。

    此外,向HDFS集群上傳新的資源后,會(huì)在MySQL數(shù)據(jù)庫(kù)中記錄該資源的描述信息即文件的元數(shù)據(jù),包括新資源的上傳用戶、上傳時(shí)間、上傳路徑、文件內(nèi)容簡(jiǎn)介,資源在HDFS中的數(shù)據(jù)塊分隔和復(fù)制備份等工作是通過NameNode指令在DataNode上完成的。圖2為HDFS可視化系統(tǒng)架構(gòu)圖。

    圖2 HDFS可視化系統(tǒng)架構(gòu)圖Fig.2 Architecture of HDFS visualizaion system

    2.2 功能設(shè)計(jì)

    1)用戶管理提供用戶注冊(cè)功能,注冊(cè)信息包括用戶名、密碼和用戶使用權(quán)限。在瀏覽文件列表時(shí),根據(jù)用戶的使用權(quán)限提供相應(yīng)的文件操作。

    2)文件管理提供目錄的查看、創(chuàng)建、刪除,文件的上傳、下載、刪除等基本操作。此外,為了方便用戶準(zhǔn)確查找并下載所需文件,在系統(tǒng)中查看文件列表時(shí)有必要給出各個(gè)文件的相關(guān)信息,這些文件信息在上傳資源時(shí)存儲(chǔ)在MySQL數(shù)據(jù)庫(kù)中。

    3)集群管理應(yīng)用JFreeChart繪制餅圖來描述文件系統(tǒng)空間的使用情況[12]。

    圖3為HDFS可視化系統(tǒng)功能結(jié)構(gòu)圖。

    圖3 HDFS可視化系統(tǒng)功能結(jié)構(gòu)圖Fig.3 Function structure of HDFS visualizaion system

    3 HDFS的實(shí)現(xiàn)及其在QAR數(shù)據(jù)中的應(yīng)用

    3.1 開發(fā)環(huán)境

    HDFS可視化系統(tǒng)開發(fā)工具為Eclipse和JDK1.7.0,Tomcat作為Web服務(wù)器,系統(tǒng)框架選用輕量級(jí)的Struts 2.3,選用MySQL 5.6作為數(shù)據(jù)庫(kù)。實(shí)驗(yàn)過程中所組建的Hadoop集群由1個(gè)NameNode和3個(gè)DataNode構(gòu)成,采用Hadoop 2.4.0版本。目前集群存儲(chǔ)空間大小為1.34 TB,包括122個(gè)目錄、287個(gè)文件和832個(gè)文件塊,通過配置文件設(shè)置塊大小為128 MB,文件備份數(shù)目默認(rèn)配置3個(gè)。

    3.2 系統(tǒng)實(shí)現(xiàn)

    關(guān)于HDFS的文件操作與集群信息主要涉及以下各類[13]:

    Configuration類:該類的對(duì)象封裝了客戶端或者服務(wù)器的配置;

    FileSystem類:該類的對(duì)象是一個(gè)文件系統(tǒng)對(duì)象,可以用該對(duì)象的一些方法來對(duì)文件進(jìn)行操作。通過FileSystem的靜態(tài)方法get獲得該對(duì)象;

    FSDataInputStream和FSDataOutputStream類:這兩個(gè)類是HDFS中的輸入輸出流。分別通過FileSystem的open()方法和create()方法獲得;

    Path類:該類的對(duì)象為文件系統(tǒng)的一個(gè)路徑,該路徑既可以是文件路徑也可以是目錄路徑;

    FileStatus類:該類封裝了文件系統(tǒng)中文件與目錄的元數(shù)據(jù),包括文件大小、備份數(shù)、文件所有者等信息;

    FsStatus類:通過該類對(duì)象獲得文件系統(tǒng)的容量、已用和未用空間,方法分別為getCapacity、getUsed和getRemaining。

    綜上所述,關(guān)于文件操作與獲得集群信息的代碼結(jié)構(gòu)如下:

    FileOperator(){

    Configuration conf=new Configuration();

    FileSystem fs=FileSystem.get(URI.create(hdfsUrl),conf,username);

    DistributedFileSystem dfs=(DistributedFileSystem)fs;

    fs.concreteOperation();

    ……

    dfs.getCapacity();

    ……

    }

    圖4為HDFS可視化系統(tǒng)的文件管理頁(yè)面,在所創(chuàng)建/data/qar目錄中,上傳了多個(gè)csv格式的QAR數(shù)據(jù)文件,每個(gè)文件記錄著某天某航班的飛行記錄信息。針對(duì)每個(gè)文件,都有相應(yīng)的摘要信息,上傳用戶,文件大小,上傳時(shí)間,能夠?qū)ζ溥M(jìn)行刪除、下載等操作。從而實(shí)現(xiàn)對(duì)海量QAR數(shù)據(jù)文件的分布式存儲(chǔ),提高了QAR數(shù)據(jù)在Hive數(shù)據(jù)倉(cāng)庫(kù)中構(gòu)建的效率,有利于后續(xù)對(duì)其進(jìn)行并行化數(shù)據(jù)挖掘。

    圖4 HDFS文件管理頁(yè)面Fig.4 File management page of HDFS visualizaion system

    圖5為HDFS可視化系統(tǒng)的集群管理頁(yè)面。用JFreeChart繪制了餅圖來描述整個(gè)Hadoop集群空間的使用情況,左側(cè)標(biāo)注了各個(gè)DateNode的空間使用情況。

    3.3 測(cè)試

    開啟Hadoop集群,啟動(dòng)Tomcat與MySQL后,打開客戶端瀏覽器輸入http://10.1.49.241/hdfs-management,在登錄頁(yè)面輸入正確的用戶名與密碼進(jìn)入系統(tǒng)主頁(yè)面,能夠?qū)ξ募M(jìn)行管理以及查看集群存儲(chǔ)信息。

    圖5 HDFS集群管理頁(yè)面Fig.5 Cluster information page of HDFS visualizaion system

    4 結(jié)語(yǔ)

    本文在研究HDFS工作原理的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了界面友好且易于維護(hù)的基于WEB的HDFS可視化系統(tǒng),解決了HDFS操作環(huán)境不便的問題,從而提高了使用Hadoop進(jìn)行測(cè)試與開發(fā)的效率。下一階段的工作將充分利用HDFS可視化系統(tǒng),建立基于Hive的QAR數(shù)據(jù)倉(cāng)庫(kù),進(jìn)而對(duì)大規(guī)模飛行記錄數(shù)據(jù)進(jìn)行并行化數(shù)據(jù)挖掘。

    [1]Apache Hadoop[EB/OL].(2014-08-15)[2016-04-16].http://hadoop. apache.org/.

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

    [3]欒景超,馬志強(qiáng),李昊甦,等.Hadoop分布式文件系統(tǒng)資源管理器的設(shè)計(jì)與實(shí)現(xiàn)[J].科研信息化技術(shù)與應(yīng)用,2014(1):41-52.

    [4]李振舉,李學(xué)軍,楊晟,等.HDFS可視化管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2015,34(8):80-82.

    [5]DEAN JEFFREY,GHEMAWAT SANJAY.MapReduce:simplified data processing on large clusters[J].Communications of the ACM,2008,51 (1):107-113.

    [6]BORTHAKUR DHRUBA.The hadoop distributed file system:Architecture and design[J].Hadoop Project Website,2007,11:21.

    [7]CHUCK LAM.Hadoop in Action[M].America:Manning,2010:38-42.

    [8]APACHE.Hadoop-hdfs 2.4.1 API[EB/OL].[2016-04-16].http:// hadoop.apache.org/hdfs/docs/api/.

    [9]HDFS[EB/OL].[2016-04-16].http://hadoop.apache.org/hdfs/.

    [10]劉鵬.實(shí)戰(zhàn)Hadoop[M].北京:電子工業(yè)出版社,2011:30-34.

    [11]HOLMES,ALEX.Hadoop in Practice[M].America:Manning,2012:3-23.

    [12]JFreeChart[EB/OL].[2016-04-16].http://www.jfree.org/jfreechart/.

    [13]TOM WHITE.Hadoop權(quán)威指南[M].3版.北京:清華大學(xué)出版社,2011:1-12.

    (責(zé)任編輯:黨亞茹)

    Research on HDFS visualization and its application in QAR data

    FENG Xingjie,WU Xiyu
    (College of Computer Science&Technology,CAUC,Tianjin 300300,China)

    As an open software framework developed by Apache,Hadoop provides the distributed processing of large data sets that across clusters of computer by simple programming models.It is designed to scale up from single servers to thousands of machines,each offering local computation and storage.And now a wide variety of companies and organizations use Hadoop for both research and production.The core modules of Hadoop are HDFS(Hadoop distributed file system)and MapReduce distributed programming model.An HDFS cluster primarily consists of a NameNode that manages the file system metadata and DataNodes that store the actual data.However,the management issues of HDFS cluster resources has became urgent.There is a web page to browse HDFS provided by Hadoop,but this interface of HDFS is not friendly for users because command line is the main method to achieve operation of the document now.In order to use HDFS conveniently,using the struts2 develop framework and JFreeChart,the architecture of HDFS is researched and then an HDFS visualization system is designed based on web interface.And the development efficiency based on Hadoop for QAR data is improved.

    HDFS;visualization;Hadoop;QAR data file;cluster management

    TP311

    A

    1674-5590(2017)01-0056-04

    2016-05-09;

    2016-06-12基金項(xiàng)目:國(guó)家自然科學(xué)青年基金(61301245,61201414)

    馮興杰(1969—),男,河北邢臺(tái)人,教授,博士,研究方向?yàn)樵朴?jì)算,數(shù)據(jù)倉(cāng)庫(kù)和智能信息處理.

    猜你喜歡
    頁(yè)面集群分布式
    大狗熊在睡覺
    刷新生活的頁(yè)面
    海上小型無(wú)人機(jī)集群的反制裝備需求與應(yīng)對(duì)之策研究
    一種無(wú)人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
    電子制作(2018年11期)2018-08-04 03:25:40
    分布式光伏熱錢洶涌
    能源(2017年10期)2017-12-20 05:54:07
    分布式光伏:爆發(fā)還是徘徊
    能源(2017年5期)2017-07-06 09:25:54
    Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
    勤快又呆萌的集群機(jī)器人
    基于DDS的分布式三維協(xié)同仿真研究
    西門子 分布式I/O Simatic ET 200AL
    通城县| 贺州市| 和林格尔县| 巴楚县| 安岳县| 石渠县| 西乡县| 东乡| 大新县| 新营市| 盘锦市| 滁州市| 霍邱县| 大洼县| 大关县| 眉山市| 崇左市| 肇庆市| 英德市| 孝昌县| 新巴尔虎右旗| 偏关县| 沁源县| 阿克陶县| 巴楚县| 阜南县| 上栗县| 昔阳县| 长白| 措美县| 平顶山市| 龙南县| 邢台县| 雅江县| 公主岭市| 库伦旗| 贵州省| 天峻县| 遂昌县| 巴塘县| 保山市|