• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      “大數(shù)據(jù)技術(shù)”實驗教學(xué)環(huán)境構(gòu)建研究

      2019-11-28 06:45:10張玉軍
      實驗技術(shù)與管理 2019年11期
      關(guān)鍵詞:環(huán)境變量配置文件大數(shù)據(jù)技術(shù)

      楊 丹,姜 華,張玉軍,趙 驥

      “大數(shù)據(jù)技術(shù)”實驗教學(xué)環(huán)境構(gòu)建研究

      楊 丹,姜 華,張玉軍,趙 驥

      (遼寧科技大學(xué) 計算機與軟件工程學(xué)院,遼寧 鞍山 114051)

      該文研究了大數(shù)據(jù)技術(shù)課程實驗教學(xué)環(huán)境的構(gòu)建。在綜合考慮已有實驗設(shè)備和各種影響因素的條件下,提出在Linux虛擬機下安裝Hadoop集群,并安裝用Scala編程語言編寫的Spark計算框架,從而實現(xiàn)Hadoop+Spark的大數(shù)據(jù)技術(shù)實驗教學(xué)環(huán)境構(gòu)建方案。該實驗環(huán)境有助于提升大數(shù)據(jù)技術(shù)課程的理論教學(xué)效果,有助于學(xué)生更好地掌握分析和處理大數(shù)據(jù)的關(guān)鍵技術(shù),從而有助于達(dá)到培養(yǎng)創(chuàng)新型人才的目標(biāo)。

      大數(shù)據(jù)技術(shù);Linux;實驗教學(xué);Hadoop;Spark

      近年來,大數(shù)據(jù)[1-4]的應(yīng)用遍布各領(lǐng)域、各行業(yè),大數(shù)據(jù)技術(shù)快速發(fā)展,國內(nèi)外高校計算機專業(yè)相繼開設(shè)了大數(shù)據(jù)相關(guān)課程,我校計算機與軟件工程學(xué)院將其作為本科生專業(yè)選修課。但是作為新興技術(shù)和學(xué)科方向,缺少相應(yīng)的實驗教學(xué)環(huán)境和平臺。本文綜合考慮搭建成本、實驗室已有設(shè)備和系統(tǒng)環(huán)境,以及學(xué)生的接受能力等,提出了在Linux虛擬機下安裝Hadoop[5-9]集群的搭建方案,但由于Hadoop的MapReduce[10-11]在運算時,需要將中間產(chǎn)生的數(shù)據(jù)存儲在硬盤中,磁盤的輸入和輸出往往成為性能上的瓶頸,造成讀寫數(shù)據(jù)延遲問題,因此安裝了基于內(nèi)存的Spark[12-14]計算框架,大幅提高了運算性能。通過搭建Hadoop+Spark的大數(shù)據(jù)技術(shù)實驗教學(xué)環(huán)境,能夠很好地解決學(xué)生理論學(xué)習(xí)與實踐脫節(jié)的問題,并大大降低了學(xué)生學(xué)習(xí)大數(shù)據(jù)技術(shù)的門檻。

      1 Linux系統(tǒng)下的Hadoop環(huán)境搭建

      由于本學(xué)院現(xiàn)有的實驗室主機均為Windows操作系統(tǒng),而Hadoop主要是在Linux操作系統(tǒng)環(huán)境下運行。而Ubuntu是Linux操作系統(tǒng)眾多版本中的一種,所以先下載安裝Ubuntu來提供Linux系統(tǒng)環(huán)境(如果電腦操作系統(tǒng)為Linux,則無需進(jìn)行下面1.1節(jié)的配置),而后再搭建Hadoop環(huán)境。本節(jié)提供2種Hadoop安裝方式,分別是Hadoop單節(jié)點安裝和多節(jié)點的集群安裝方式,單節(jié)點方式在運算時無法達(dá)到多節(jié)點并行運算時的速度,讀者可根據(jù)實際情況自行選擇安裝方式。

      1.1 下載安裝Ubuntu操作系統(tǒng)的光盤軟件

      主要包括以下步驟:

      (1)打開瀏覽器輸入 Ubuntu 的官網(wǎng)下載地址http://www.ubuntu.com/download/alternative_downloads,保存在計算機的某個目錄下;

      (2)在虛擬機中導(dǎo)入下載文件;

      (3)輸入用戶名、密碼,啟動Ubuntu。

      1.2 Hadoop單節(jié)點安裝

      單節(jié)點Hadoop環(huán)境的安裝步驟如下:

      (1)安裝JDK,使用命令首先查看Java版本,然后連接到APT Server接口,并更新軟件包,使用命令sudo apt-get install default-jdk安裝JDK;

      (2)設(shè)置SSH管理節(jié)點用于管理計算節(jié)點,使用命令sudo apt-get install ssh 安裝SSH;

      (3)下載安裝Hadoop,設(shè)置Hadoop環(huán)境變量,編輯/.~bashrc將環(huán)境變量寫到該文件中,每次登錄無須重復(fù)設(shè)置環(huán)境變量,環(huán)境變量設(shè)置如圖1所示;

      圖1 配置Hadoop的安裝與環(huán)境變量

      (4)修改Hadoop配置文件,添加命令export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64,分別修改core-site.xml文件、yarn-site.xml文件、mapred-site. xml文件、hdfs-site.xm文件如圖2所示;

      圖2 修改Hadoop配置文件

      (5)使用命令start-all.sh啟動Hadoop中的HDFS和YARN。

      1.3 Hadoop集群安裝

      Hadoop集群架構(gòu)示意圖如圖3所示。

      圖3 Hadoop集群架構(gòu)示意圖

      Hadoop集群安裝需要至少4臺實體服務(wù)器,才能發(fā)揮其并行處理的優(yōu)勢。但考慮學(xué)院的實驗室環(huán)境,為了方便大家實機演練,通過創(chuàng)建虛擬機master、data1、data2、data3予以解決。雖然一臺主機無法實現(xiàn)并行計算,但配置方法可以完全應(yīng)用于創(chuàng)建實體主機集群。由于配置data1、data2和data3的操作基本相同,下面只介紹data1的配置操作。

      Hadoop安裝步驟如下:

      (1)復(fù)制1.2節(jié)所創(chuàng)建的單節(jié)點Hadoop創(chuàng)建data1;

      (2)配置data1的網(wǎng)卡和主機名,配置網(wǎng)卡使用命令sudo gedit /etc/network/interfaces,配置主機名使用命令sudo gedit /etc/hostname hosts,配置各節(jié)點主機名與對應(yīng)的IP使用命令sudo gedit /etc/hosts;

      (3)分別修改配置文件core-site.xml、yarn- site.xml、mapred-site.xml和 hdfs-site.xml,其中core- site.xml和hdfs-site.xml配置與圖2(a)和圖2(d)相同,mapred-site.xml、yarn-site.xml的配置如圖4所示;

      (4)使用命令sudo init 0重新啟動后,查看data1的網(wǎng)絡(luò)配置是否成功,如果有eth0和eth1網(wǎng)卡同時出現(xiàn),表示網(wǎng)絡(luò)配置成功,同時可看到內(nèi)部網(wǎng)絡(luò)為172.16.100.101;

      (5)復(fù)制data1服務(wù)器到data2、data3和master節(jié)點,data2和data3操作步驟與data1操作相同;

      (6)master節(jié)點使用SSH連接到data1,檢測 data1是否成功,啟動HDFS和MapReduce。

      圖4 mapred-site.xml和yarn-site.xml配置文件

      1.4 Hadoop的樣例程序執(zhí)行測試

      以Hadoop自帶的經(jīng)典計算單詞數(shù)量的任務(wù)WordCount為測試程序。具體測試步驟如下:

      (1)編輯WordCount.java;

      (2)編譯并打包WordCound.java程序;

      (3)使用Hadoop目錄下的LICENSE.txt文件作為測試文件,并上傳文本文件至HDFS;

      (4)在Hadoop環(huán)境下運行WordCount;

      (5)輸出文件并存儲到HDFS中,可使用HDFS命令查看每個單詞出現(xiàn)的數(shù)量。

      2 Spark安裝與測試

      2.1 下載并安裝Scala和Spark

      Spark可實現(xiàn)數(shù)據(jù)在內(nèi)存中存儲,并可對數(shù)據(jù)進(jìn)行重復(fù)利用。Spark支持Scala、Java、Python等語言,由于是由Scala語言開發(fā),所以安裝Spark前應(yīng)先安裝Scala。安裝步驟如下:

      (1)下載Scala文件并解壓,將Scala移動到/usr/local目錄下,設(shè)置Scala用戶環(huán)境變量,使用以下2條命令export SCALA_HOME=/usr/local/scala、export PATH=$PATH:${SCALA_HOME}/bin,并使用source ~/.bashrc命令讓環(huán)境變量生效;

      (2)下載Spark并解壓,保存到目錄/usr/local/ spark,然后設(shè)置Spark用戶環(huán)境變量,使用命令export SCALA_HOME=/usr/local/spark和export PATH=$PATH: $SPARK_HOME/bin,使環(huán)境變量生效,并啟動spark-shell交互界面;

      (3)設(shè)置saprk-shell顯示信息,將log4j. rootCategory原本的INFO信息改為WARN,用于提示錯誤或警告信息。

      2.2 本地運行spark-shell程序

      運行程序步驟如下:

      (1)使用命令start-all.sh啟動Hadoop;

      (2)使用命令spark-shell --master local[4],local[N]表示本地運行且使用N個線程;

      (3)讀取本地文件README.md,并列出數(shù)據(jù)記錄數(shù);

      (4)讀取HDFS文件LICENSE.txt,并列出數(shù)據(jù)記錄數(shù)。

      2.3 構(gòu)建Spark Standalone集群執(zhí)行環(huán)境

      Spark的模式架構(gòu)如圖5所示。其中,Driver Program是程序員設(shè)計的Spark程序,每個程序必須定義SparkContext,它是開發(fā)Spark應(yīng)用程序的入口。Cluster Manager管理整個集群,集群中包含多個Worker Node,每個Worker Node都由Executor負(fù)責(zé)執(zhí)行任務(wù)。

      圖5 Spark的集群模式結(jié)構(gòu)圖

      Spark Standalone集群執(zhí)行環(huán)境構(gòu)建步驟如下:

      (1)Spark系統(tǒng)中提供了環(huán)境變量的模板文件,復(fù)制該模板文件創(chuàng)建Spark-env.sh,設(shè)置環(huán)境配置文件spark-env.sh的IP為master,設(shè)置每個Worker使用的CPU核心和內(nèi)存的大小以及每個Worker的實例數(shù)量;

      (2)將master的spark復(fù)制到data1,首先,使用SSH連接至data1,連接成功后創(chuàng)建spark目錄,更改所有者為hduser,使用命令sudo scp -r /usr/local/spark/ hduser@data1:/usr/local;

      (3)將master的spark復(fù)制到data2和data3,操作步驟同(2);

      (4)配置slave文件,使Spark Standalone Cluser所擁有的服務(wù)器為data1、data2和data3。

      2.4 在Spark Standalone運行spark-shell

      在Spark集群中運行spark-shell的執(zhí)行步驟如下:

      (1)啟動master和salves節(jié)點,使用命令/usr/local/spark/sbin/start-all.sh,再使用命令$spark- shell --master spark://master:7077運行spark-shell程序;

      (2)使用Spark Standalone Web UI界面,查看啟動的worker與當(dāng)前spark-shell的狀態(tài)。

      3 結(jié)語

      針對“大數(shù)據(jù)技術(shù)”課程實驗教學(xué)的特點與學(xué)生培養(yǎng)目標(biāo),研究Linux系統(tǒng)下Hadoop+Spark教學(xué)實驗環(huán)境的搭建。使學(xué)生通過該項實踐教學(xué),加深對大數(shù)據(jù)技術(shù)理論知識的理解和掌握,使學(xué)生能夠?qū)崿F(xiàn)從感性認(rèn)識到動手實踐開發(fā)的躍升,避免紙上談兵,達(dá)到提高教學(xué)效果、培養(yǎng)學(xué)生工程實踐能力的目的。

      [1] 呂立昌. 大數(shù)據(jù)技術(shù)在計算機信息安全中的應(yīng)用[J]. 電子技術(shù)與軟件工程,2019(15): 181–182.

      [2] 原建偉,何玉輝,丁潔. 大數(shù)據(jù)實驗云平臺的設(shè)計與實現(xiàn)[J]. 信息技術(shù),2018(2): 68–71.

      [3] 韋程馨. 基于云計算的云數(shù)據(jù)管理技術(shù)[J]. 電子技術(shù)與軟件工程,2019(5): 145.

      [4] 陳磊,吳曉暉. 基于Hadoop的分布式集群大數(shù)據(jù)動態(tài)存儲系統(tǒng)設(shè)計[J]. 中國電子科學(xué)研究院學(xué)報,2019,14(6): 593–598.

      [5] 夏靖波,韋澤鯤,付凱,等. 云計算中Hadoop技術(shù)研究與應(yīng)用綜述[J]. 計算機科學(xué),2016, 43(11): 6–11, 48.

      [6] 張逸然,陳龍,安向哲,等. 面向GPU計算平臺的歸約算法的性能優(yōu)化研究[J]. 計算機科學(xué),2019, 46(2): 306–314.

      [7] 何沖. Hadoop集群調(diào)度優(yōu)化的研究[D]. 上海:上海師范大學(xué),2015.

      [8] 王成,閆紅. 基于Hadoop技術(shù)的電信大數(shù)據(jù)平臺設(shè)計[J]. 電子技術(shù)與軟件工程,2019(15): 132–133.

      [9] 李秋虹. 基于MapReduce的大規(guī)模數(shù)據(jù)挖掘技術(shù)研究[D]. 上海: 復(fù)旦大學(xué),2013.

      [10] 米允龍,李金海,劉文奇,等. MapReduce框架下的粒概念認(rèn)知學(xué)習(xí)系統(tǒng)研究[J]. 電子學(xué)報,2018,46(2): 289–297.

      [11] 李港,劉玉程. Hadoop的兩大核心技術(shù)HDFS和MapReduce[J]. 電子技術(shù)與軟件工程,2018(7): 180.

      [12] 卞琛,于炯,修位蓉,等. Spark框架并行度推斷算法[J]. 電子科技大學(xué)學(xué)報,2019, 48(4): 567–574.

      [13] 陳佳. 基于Spark的閉合序列模式手機病毒挖掘系統(tǒng)的設(shè)計與實現(xiàn)[D]. 北京: 北京郵電大學(xué),2019.

      [14] 田璐,齊林海,李青,等. 基于Spark Streaming的電力流式大數(shù)據(jù)分析架構(gòu)及應(yīng)用[J]. 電力信息與通信技術(shù),2019, 17(2): 23–29.

      Research on construction of experimental teaching environment for “Big data technology”

      YANG Dan, JIANG Hua, ZHANG Yujun, ZHAO Ji

      (School of Computer and Software Engineering, University of Science and Technology Liaoning, Anshan 114051, China)

      The construction of experimental teaching environment is studied for the Big Data Technology course. Considering the existing experimental equipment and various influencing factors, this paper proposes to install Hadoop cluster under Linux virtual machine and Spark computing framework written in Scala programming language, realizing the construction of Hadoop+Spark experimental teaching environment for the big data technology. This experimental environment is helpful to improve the theoretical teaching effect of the Big Data Technology course, which helps students to better grasp the key technology of analyzing and processing big data and has achieved the goal of training innovative talents.

      big data technology; Linux; experimental teaching; Hadoop; Spark

      G642.423

      A

      1002-4956(2019)11-0193-04

      10.16791/j.cnki.sjg.2019.11.047

      2019-08-18

      教育部“數(shù)啟科教 智見未來”產(chǎn)教聯(lián)合基金項目(2017B00007);教育部產(chǎn)學(xué)合作協(xié)同育人項目(201702124017,201702124008);遼寧省創(chuàng)新創(chuàng)業(yè)教育改革試點專業(yè)項目(遼教函[2017]838號);遼寧省普通本科高等學(xué)校向應(yīng)用型轉(zhuǎn)變示范專業(yè)項目(遼教函[2017]779號);遼寧省普通高等教育本科教學(xué)改革研究項目(遼教函[2018]471號);遼寧科技大學(xué)研究生教育改革與創(chuàng)新項目(2016YJSCX20)

      楊丹(1978—),女,遼寧鞍山,博士,副教授,研究方向為分布式計算、大數(shù)據(jù)管理等。E-mail: asyangdan@163.com

      猜你喜歡
      環(huán)境變量配置文件大數(shù)據(jù)技術(shù)
      提示用戶配置文件錯誤 這樣解決
      從桌面右鍵菜單調(diào)用環(huán)境變量選項
      搭建簡單的Kubernetes集群
      互不干涉混用Chromium Edge
      徹底弄懂Windows 10環(huán)境變量
      忘記ESXi主機root密碼怎么辦
      論大數(shù)據(jù)技術(shù)在智能電網(wǎng)中的應(yīng)用
      高校檔案管理信息服務(wù)中大數(shù)據(jù)技術(shù)的應(yīng)用
      大數(shù)據(jù)技術(shù)在電氣工程中的應(yīng)用探討
      大數(shù)據(jù)技術(shù)在商業(yè)銀行中的應(yīng)用分析
      蓝山县| 蒲江县| 钟祥市| 洪泽县| 青海省| 石柱| 准格尔旗| 葵青区| 阿拉善右旗| 都江堰市| 社会| 吴桥县| 九江县| 常德市| 靖西县| 溧水县| 洛宁县| 正安县| 榕江县| 微山县| 焦作市| 汕头市| 红原县| 名山县| 张家口市| 玉溪市| 陆河县| 日照市| 汕尾市| 库尔勒市| 洪泽县| 綦江县| 偏关县| 墨脱县| 顺义区| 乡宁县| 都昌县| 海南省| 贞丰县| 威远县| 漾濞|