亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向計(jì)算機(jī)基礎(chǔ)教學(xué)的Hadoop實(shí)驗(yàn)設(shè)計(jì)

        2016-12-27 08:19:15巖,
        實(shí)驗(yàn)室研究與探索 2016年1期
        關(guān)鍵詞:子項(xiàng)目集群基礎(chǔ)

        徐 巖, 周 圍

        (北京交通大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院, 北京 100044)

        ?

        面向計(jì)算機(jī)基礎(chǔ)教學(xué)的Hadoop實(shí)驗(yàn)設(shè)計(jì)

        徐 巖, 周 圍

        (北京交通大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院, 北京 100044)

        隨著互聯(lián)網(wǎng)和Web技術(shù)的飛速發(fā)展,現(xiàn)代社會的信息量迅速增長,中國已經(jīng)步入“大數(shù)據(jù)”時(shí)代。Hadoop作為Apache基金會的開源項(xiàng)目,是一個分布式計(jì)算框架,主要處理大量數(shù)據(jù),在業(yè)界和應(yīng)用行業(yè)尤其是互聯(lián)網(wǎng)行業(yè)得到了廣泛應(yīng)用。因此,研究它非常必要。本文對Hadoop的特點(diǎn)及其子項(xiàng)目進(jìn)行深入探討,以Hadoop1.1.0為基礎(chǔ),設(shè)計(jì)面向計(jì)算機(jī)基礎(chǔ)教學(xué)的系列實(shí)驗(yàn),從環(huán)境搭建、并行編程到數(shù)據(jù)遷移等七個方面,它涉及到Hadoop的多個子項(xiàng)目,形成一定的深度和廣度。使學(xué)生能夠更加深入了解和學(xué)習(xí)Hadoop,為今后的學(xué)習(xí)奠定扎實(shí)的基礎(chǔ),以便培養(yǎng)更好的Hadoop人才。

        Hadoop; 計(jì)算機(jī)基礎(chǔ)教學(xué); 實(shí)驗(yàn)設(shè)計(jì)

        0 引 言

        隨著互聯(lián)網(wǎng)和Web技術(shù)的飛速發(fā)展,現(xiàn)代社會的信息量迅速增長,中國已經(jīng)步入了“大數(shù)據(jù)”時(shí)代。根據(jù)摩爾定律,約每隔18個月,CPU性能會提高一倍。然而,由于晶體管電路已經(jīng)逐漸接近其物理上的性能極限,摩爾定律在 2005 年左右開始失效。CPU的速度不可能再大幅度提升了,人們開始設(shè)計(jì)分布式系統(tǒng),把眾多的計(jì)算機(jī)通過集群方式并行同時(shí)運(yùn)行,來提高處理的速度。Hadoop作為一個分布式計(jì)算框架,主要處理大量數(shù)據(jù),因此,研究它非常必要[1-2]。

        實(shí)驗(yàn)教學(xué)可以使學(xué)生更形象生動地掌握了原來枯燥無味的理論知識,又鍛煉了學(xué)生的動手能力和創(chuàng)造能力,從而最大限度地激發(fā)了學(xué)生的學(xué)習(xí)興趣。因此,重視和加強(qiáng)實(shí)驗(yàn)教學(xué),是激發(fā)學(xué)生學(xué)習(xí)興趣的關(guān)鍵。Hadoop作為Apache基金會的開源項(xiàng)目,模仿Google的核心技術(shù),是一個分布式系統(tǒng)的基礎(chǔ),是最典型和最常見的云計(jì)算平臺[3-4]。本文針對Hadoop的特點(diǎn)及其子項(xiàng)目進(jìn)行深入探討,設(shè)計(jì)系列實(shí)驗(yàn),使同學(xué)們能夠更加深入了解和學(xué)習(xí)Hadoop。為今后的學(xué)習(xí)奠定扎實(shí)的基礎(chǔ),以便培養(yǎng)更好的Hadoop人才。

        1 實(shí)驗(yàn)總體設(shè)計(jì)

        1.1 Hadoop框架

        Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。Hadoop以一種可靠、高效、可伸縮的方式進(jìn)行數(shù)據(jù)處理。Hadoop的框架最核心的設(shè)計(jì)就是:HDFS和MapReduce。HDFS為海量的數(shù)據(jù)提供了存儲,而MapReduce為海量的數(shù)據(jù)提供了計(jì)算。但是在Hadoop下的Common、HBase、Zookeeper、Avro等子項(xiàng)目也是不可或缺的,它們在提供了互補(bǔ)性服務(wù)或在核心層上提供了更高層的服務(wù)[5]。

        Hadoop是一個能夠讓用戶輕松架構(gòu)和使用的分布式計(jì)算平臺。用戶可以輕松地在Hadoop上開發(fā)和運(yùn)行處理海量數(shù)據(jù)的應(yīng)用程序。Hadoop家族由以下幾個子項(xiàng)目組成(見圖1)。

        圖1 Hadoop家族圖

        Hadoop Common:支持其他模塊的常用工具集,主要包括系統(tǒng)配置工具、序列化機(jī)制、遠(yuǎn)程過程調(diào)用、數(shù)據(jù)壓縮與解壓縮、Hadoop抽象文件系統(tǒng),為在通用硬件上搭建云計(jì)算環(huán)境提供基礎(chǔ)服務(wù),并為運(yùn)行在該平臺上的軟件開發(fā)提供了所需的API。

        HDFS:一個高擴(kuò)展、高容錯、高可靠、高吞吐量,運(yùn)行在低成本的通用計(jì)算機(jī)上的分布式文件系統(tǒng)。

        MapReduce:一種編程模型,用于大規(guī)模數(shù)據(jù)集的并行運(yùn)算。

        HBase:一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),利用這項(xiàng)技術(shù)可在廉價(jià)服務(wù)器上搭建起大規(guī)模結(jié)構(gòu)化存儲集群。

        Zookeeper: 一個為分布式應(yīng)用所設(shè)計(jì)的分布的、開源的協(xié)調(diào)服務(wù),主要用來解決分布式應(yīng)用中經(jīng)常遇到的一些數(shù)據(jù)管理問題,簡化分布式應(yīng)用協(xié)調(diào)及其管理的難度,提供高性能的分布式服務(wù)。

        Avro:一個數(shù)據(jù)序列化系統(tǒng),用于支持?jǐn)?shù)據(jù)密集型,大批量數(shù)據(jù)交換的應(yīng)用[6]。

        1.2 面向計(jì)算機(jī)基礎(chǔ)教學(xué)的系列實(shí)驗(yàn)設(shè)計(jì)

        計(jì)算機(jī)基礎(chǔ)教學(xué)實(shí)驗(yàn)的特點(diǎn)有:①與時(shí)俱進(jìn),發(fā)展迅速,內(nèi)容更新快;②實(shí)踐性強(qiáng),需要動手操作;③要求有一定的教學(xué)條件[7]。計(jì)算機(jī)是一門實(shí)踐性很強(qiáng)的課程,如果實(shí)驗(yàn)課沒有安排好,是不能有效掌握計(jì)算機(jī)的。而選取或設(shè)計(jì)一系列的實(shí)驗(yàn),是至關(guān)重要的[8]。為了使學(xué)生能夠更加深入了解和學(xué)習(xí)Hadoop,本文針對Hadoop的特點(diǎn),以Hadoop1.1.0為基礎(chǔ),設(shè)計(jì)了一系列的實(shí)驗(yàn)(見表1),它涉及到Hadoop的多個子項(xiàng)目,形成一定的深度和廣度。通過學(xué)習(xí)這些實(shí)驗(yàn),可以使學(xué)生有效地掌握理論知識,在實(shí)踐中獲得鞏固和提高。實(shí)驗(yàn)環(huán)境集群拓?fù)鋱D如圖2所示,實(shí)驗(yàn)所需軟件環(huán)境如表2所示。

        表1 面向計(jì)算機(jī)基礎(chǔ)教學(xué)的系列實(shí)驗(yàn)

        圖2 實(shí)驗(yàn)環(huán)境集群拓?fù)鋱D

        表2 實(shí)驗(yàn)軟件環(huán)境

        2 實(shí)驗(yàn)內(nèi)容設(shè)計(jì)及實(shí)現(xiàn)

        2.1 實(shí)驗(yàn)1:Hadoop集群環(huán)境搭建實(shí)驗(yàn)

        本實(shí)驗(yàn)幫助學(xué)生掌握Hadoop所需軟硬件環(huán)境。首先給主從節(jié)點(diǎn)機(jī)器配置網(wǎng)絡(luò),安裝SSH、JDK,配置環(huán)境變量,安裝Hadoop,分別設(shè)置主從節(jié)點(diǎn)的配置文件。啟動前先格式化名字節(jié)點(diǎn),最后通過查看各節(jié)點(diǎn)進(jìn)程狀態(tài),確認(rèn)進(jìn)程正常啟動,至此Hadoop集群環(huán)境搭建完畢。通過搭建實(shí)驗(yàn),使學(xué)生學(xué)習(xí)Hadoop和Linux常用命令、熟悉Hadoop管理方式[9]。

        2.2 實(shí)驗(yàn)2:分布式并行編程實(shí)驗(yàn)

        本實(shí)驗(yàn)幫助學(xué)生理解MapeReduce的分布式并行計(jì)算工作原理。在此通過一個應(yīng)用實(shí)例(單詞計(jì)數(shù))的運(yùn)行過程來實(shí)現(xiàn)。單詞計(jì)數(shù)程序的完整代碼可以在Hadoop安裝包的相應(yīng)目錄下找到,主要完成的功能是:統(tǒng)計(jì)一系列文本文件中每個單詞出現(xiàn)的次數(shù)[10-11]。通過分析源代碼幫助學(xué)生理解程序基本結(jié)構(gòu)和執(zhí)行過程,如圖3所示。通過此實(shí)驗(yàn),幫助學(xué)生學(xué)習(xí)Hadoop分布式文件系統(tǒng)、MapReduce編程模型,理解MapReduce的思想。

        圖3 MapReduce處理大數(shù)據(jù)集的過程

        2.3 實(shí)驗(yàn)3:破壞試驗(yàn)可靠性驗(yàn)證實(shí)驗(yàn)

        本實(shí)驗(yàn)?zāi)MHadoop集群中其中一臺數(shù)據(jù)節(jié)點(diǎn)宕機(jī)故障,驗(yàn)證是否影響HDFS的使用?①設(shè)置副本數(shù)為3,本地上傳一個大小為30 MB的文件到集群文件系統(tǒng)。②查看哪三臺機(jī)器上面有Block塊的新增。③在其中一臺有數(shù)據(jù)塊的數(shù)據(jù)節(jié)點(diǎn)執(zhí)行關(guān)機(jī)操作。④觀察集群的狀態(tài),宕機(jī)的節(jié)點(diǎn)已經(jīng)被自動從集群中踢除了。⑤名字節(jié)點(diǎn)會檢查每個正常工作數(shù)據(jù)節(jié)點(diǎn)的文件塊是否都為3份,如果不是則會備份成3份放到正常工作的數(shù)據(jù)節(jié)點(diǎn)中。⑥驗(yàn)證能否從文件系統(tǒng)下載此文件?結(jié)果表明Hadoop集群中任何一臺數(shù)據(jù)節(jié)點(diǎn)意外宕機(jī),不會影響文件系統(tǒng)。通過此實(shí)驗(yàn),使學(xué)生了解HDFS的工作原理及其高容錯性的優(yōu)點(diǎn)。

        2.4 實(shí)驗(yàn)4:性能分析實(shí)驗(yàn)

        本實(shí)驗(yàn)測試Map和Reduce任務(wù)數(shù)量對Hadoop性能的影響。通過Hadoop自帶的Terasort排序程序,測試不同的Map任務(wù)和Reduce任務(wù)數(shù)量,對Hadoop性能的影響。實(shí)驗(yàn)數(shù)據(jù)由程序中的teragen程序生成,數(shù)據(jù)量為1GB和10GB。通過更改配置文件,從而調(diào)節(jié)Map任務(wù)和Reduce任務(wù)的數(shù)量;副本數(shù)設(shè)為3,其它參數(shù)默認(rèn)[12]。結(jié)果表明:當(dāng)數(shù)據(jù)量為1GB和10GB時(shí),把輸入分片設(shè)置為128MB(此時(shí),1GB數(shù)據(jù)Map任務(wù)=8, 10GB數(shù)據(jù)Map任務(wù)=76),系統(tǒng)性能最佳(見圖4、圖5);Reduce任務(wù)的數(shù)量應(yīng)該設(shè)置為接近從節(jié)點(diǎn)數(shù)量,或者適當(dāng)大于節(jié)點(diǎn)數(shù),不宜設(shè)置為比節(jié)點(diǎn)數(shù)量小太多。 通過此實(shí)驗(yàn),使學(xué)生學(xué)習(xí)如何調(diào)整參數(shù)來提高Hadoop的性能,對Hadoop有更加深入的了解。

        圖4 1GB數(shù)據(jù)性能對比

        圖5 10GB數(shù)據(jù)性能對比

        2.5 實(shí)驗(yàn)5:大量小文件處理實(shí)驗(yàn)

        本實(shí)驗(yàn)通過學(xué)習(xí)Avro工作過程理解大量小文件處理方式。如果采用MapReduce進(jìn)行小文件的處理,那么Mapper的個數(shù)就會跟小文件的個數(shù)成線性相關(guān)。如果小文件特別多,MapReduce就會在消耗大量的時(shí)間進(jìn)行Map進(jìn)程的創(chuàng)建和銷毀。為了解決大量小文件帶來的問題,可以將HDFS中的小文件打包到一個大的文件容器中。將本地磁盤中所有的目標(biāo)文件存儲到HDFS中的一個單獨(dú)的Avro文件,然后在MapReduce中處理Avro文件和其中的小文件。通過此實(shí)驗(yàn),使學(xué)生學(xué)習(xí)如何處理大量小文件。

        2.6 實(shí)驗(yàn)6:數(shù)據(jù)庫編程實(shí)驗(yàn)

        本實(shí)驗(yàn)針對HBase進(jìn)行相關(guān)操作,了解數(shù)據(jù)庫管理知識。過程如下:①插入數(shù)據(jù):創(chuàng)建一個Put對象,在這個Put對象里可以指定要給哪個列增加數(shù)據(jù),以及當(dāng)前的時(shí)間戳等值,然后通過調(diào)用HTable.put(PUT)來提交操作。注意:在創(chuàng)建Put對象的時(shí)候,必須指定一個行(Row)值,在構(gòu)造Put對象的時(shí)候作為參數(shù)傳入。②獲取數(shù)據(jù):獲取數(shù)據(jù),使用Get對象,Get對象同Put對象一樣有好幾個構(gòu)造函數(shù),通常在構(gòu)造的時(shí)候傳入行值,表示取第幾行的數(shù)據(jù),通過HTable.get(Get)來調(diào)用。③刪除:使用Delete來刪除記錄,通過調(diào)用HTable.delete(Delete)來執(zhí)行刪除操作[13]。通過此實(shí)驗(yàn),使學(xué)生了解對HBase中表的管理、數(shù)據(jù)的操作等。

        2.7 實(shí)驗(yàn)7:數(shù)據(jù)遷移實(shí)驗(yàn)

        本實(shí)驗(yàn)實(shí)現(xiàn)Hadoop向HBase的數(shù)據(jù)遷移。通過使用MapReduce的方法,使用Hadoop的標(biāo)準(zhǔn)Map方法讀取并分析HDFS文件,然后使用HBase提供TableReducer來實(shí)現(xiàn)Reduce,在TableReducer中調(diào)用Put對象,并構(gòu)建行數(shù)據(jù),直接插入到HBase中。所有的數(shù)據(jù)維護(hù)動作均由HBase自己來完成,數(shù)據(jù)插入的過程是追加過程,不會對已經(jīng)存在的數(shù)據(jù)造成影響[14-15]。在測試時(shí),需要輸入一個HDFS文件的路徑。通過此實(shí)驗(yàn),使學(xué)生了解如何從Hadoop向HBase進(jìn)行數(shù)據(jù)遷移。

        3 結(jié) 語

        Hadoop因其在大數(shù)據(jù)處理領(lǐng)域具有廣泛的實(shí)用性以及良好的易用性,自2007年推出后,很快在工業(yè)界得到普及應(yīng)用,同時(shí)得到了學(xué)術(shù)界的廣泛關(guān)注和研究,Hadoop必將成為研發(fā)和應(yīng)用大數(shù)據(jù)的理想選擇。本文對Hadoop的特點(diǎn)及其子項(xiàng)目進(jìn)行深入探討,設(shè)計(jì)系列實(shí)驗(yàn),能滿足學(xué)生從事大數(shù)據(jù)應(yīng)用和研發(fā)的現(xiàn)實(shí)需要,使用實(shí)例搭建并經(jīng)實(shí)證的云平臺,能實(shí)現(xiàn)海量數(shù)據(jù)的分布式計(jì)算和處理,可為計(jì)算機(jī)基礎(chǔ)相關(guān)課程提供實(shí)驗(yàn)技能訓(xùn)練,如“大學(xué)計(jì)算基礎(chǔ)”、“Linux操作系統(tǒng)基礎(chǔ)”等,具有一定的理論及實(shí)用價(jià)值。本實(shí)驗(yàn)設(shè)計(jì)會隨著系統(tǒng)升級、大數(shù)據(jù)主流開源產(chǎn)品的發(fā)展而不斷改進(jìn)。

        [1] 中國電子科學(xué)研究院學(xué)報(bào)編輯部.大數(shù)據(jù)時(shí)代[J].中國電子科學(xué)研究院學(xué)報(bào),2013(1):27-31.

        [2] 王 珊,王會舉,覃雄派,等.架構(gòu)大數(shù)據(jù):挑戰(zhàn)、現(xiàn)狀與展望[J].計(jì)算機(jī)學(xué)報(bào),2011(10):1741-1752.

        [3] Tom White. Hadoop 權(quán)威指南[M].北京:清華大學(xué)出版社,2013(11):391-426.

        [4] 劉 剛,候 賓,翟周偉.Hadoop開源云計(jì)算平臺[M].北京:北京郵電大學(xué)出版社,2011:10-13.

        [5] Hadoop官方網(wǎng)站,http://hadoop.apache.org/.

        [6] Hadoop中國網(wǎng)站,http://www.hadooper.cn/dct/page/1.

        [7] 何怡璇. 論高校計(jì)算機(jī)基礎(chǔ)教學(xué)的思路和方法[J]. 計(jì)算機(jī)學(xué)報(bào),2011(12):106-106.

        [8] 崔 成.《計(jì)算機(jī)基礎(chǔ)》教學(xué)及改革思考[J]. 福建電腦,2011(1):209-210.

        [9] (美)拉姆.Hadoop實(shí)戰(zhàn)[M].韓冀中譯,北京:人民郵電出版社,2011:3-4.

        [10] 董西城.Hadoop 技術(shù)內(nèi)幕:深入解析 MapReduce 架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理[M].北京:機(jī)械工業(yè)出版社,2011:13-18.

        [11] 許舟平.云深不知處——大規(guī)模分布式云計(jì)算方案詳解[J].程序員,2008(11):58-61.

        [12] 欒亞建,黃翀民,龔高晟,趙鐵柱.Hadoop平臺的性能優(yōu)化研究[J].計(jì)算機(jī)工程,2010(14):263.

        [13] George L.HBase權(quán)威指南(影印版)[M].南京:東南大學(xué)出版社,2012.

        [14] http://www.itpub.net/thread-1588509-1-1.html.

        [15] Konstantin Shvachko, Hairing Kuang, Sanyjy Radia,etal. The Hadoop Distributed File System [C]//Proceedings of the 2010 IEEE 26thSymposium on Mass Storage Systems and Technologies(MSST),May 03-07,2010:1-10.

        Design of Hadoop Experiment for Computer Fundamental Teaching

        XUYan,ZHOUWei

        (School of Computer and Information Technology, Beijing Jiaotong University, Beijing 100044, China)

        With the rapid development of the Internet and Web technology, the information is growing rapidly in modern society, China has entered the era of "big data". As the Apache foundation's open source project, Hadoop is a distributed computing framework, processes large amounts of data mainly, and it is widely used in industry and application industry especially the Internet industry. Therefore, it is very necessary to research it. In this paper, we study Hadoop in-depth according to the characteristics of it and its subprojects, and base on Hadoop 1.1.0 to design series of experiments oriented computer fundamental teaching. The contents include the environment to build, Parallel programming, and data migration among seven aspects. It involves multiple subprojects of Hadoop, holds a certain depth and breadth, enables students to understand and study Hadoop further, and provides them a solid foundation for the future development, and cultivates them to be Hadoop talents.

        Hadoop; computer fundamental teaching; experiment design

        2015-01-13

        北京市哲學(xué)社會科學(xué)規(guī)劃項(xiàng)目(12JYB010)

        徐 巖(1991-),女,山東濟(jì)寧人,在讀碩士,研究方向計(jì)算機(jī)科學(xué)與技術(shù)。

        Tel.:18813099341;E-mail: haprnxu@163.com

        周 圍(1973-),女,河北石家莊人,博士,高級工程師,碩士生導(dǎo)師,研究方向計(jì)算機(jī)科學(xué)與技術(shù)。

        Tel.:15201319577;E-mail: wzhou@bjtu.edu.cn

        TP 39

        A

        1006-7167(2016)01-0169-04

        猜你喜歡
        子項(xiàng)目集群基礎(chǔ)
        服務(wù)進(jìn)程中消費(fèi)者對子項(xiàng)目順序的遵從性研究
        “不等式”基礎(chǔ)鞏固
        “整式”基礎(chǔ)鞏固
        活性炭為中心綜合項(xiàng)目總體布局
        山西化工(2021年4期)2021-01-25 14:15:18
        海上小型無人機(jī)集群的反制裝備需求與應(yīng)對之策研究
        一種無人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
        電子制作(2018年11期)2018-08-04 03:25:40
        “防”“治”并舉 筑牢基礎(chǔ)
        基于案例的電子技術(shù)實(shí)踐教學(xué)內(nèi)容與教學(xué)設(shè)備的設(shè)計(jì)
        Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
        勤快又呆萌的集群機(jī)器人
        中文字幕在线亚洲日韩6页| 精品色老头老太国产精品| 伊人婷婷综合缴情亚洲五月| 成午夜福利人试看120秒| 国产精品久久久久久久妇| 久久国产A√无码专区亚洲| 黑丝美女被内射在线观看| 国语对白在线观看免费| 色狠狠色噜噜av天堂一区| 久久婷婷色综合一区二区| 国产激情一区二区三区在线蜜臀 | 精品在线视频在线视频在线视频| 大屁股人妻女教师撅着屁股| 狠狠爱无码一区二区三区| 亚洲乱精品中文字字幕| 国产精品日韩av一区二区三区| а√天堂资源官网在线资源| 欧美性受xxxx黑人xyx性爽| 蜜臀av中文人妻系列| 熟女肥臀白浆一区二区| 亚洲av午夜国产精品无码中文字| 四虎精品成人免费观看| 手机在线观看亚洲av| 久久777国产线看观看精品| 久久久精品456亚洲影院| 天天插视频| 丝袜美腿在线播放一区二区| 国产后入清纯学生妹| 久久国产精品无码一区二区三区| 免费人成视频网站在线观看不卡 | 日本熟妇高潮爽视频在线观看| 国产桃色一区二区三区| 日本高清视频www| 欧美日韩国产亚洲一区二区三区| 亚洲女同精品一区二区久久| 妺妺跟我一起洗澡没忍住| 国产在线无码一区二区三区| 国产aⅴ丝袜旗袍无码麻豆| 国产乱人精品视频av麻豆网站| 波多野42部无码喷潮| 久久国产乱子伦精品免费强|