国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

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

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

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

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

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

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

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

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

由于本學(xué)院現(xiàn)有的實(shí)驗(yàn)室主機(jī)均為Windows操作系統(tǒng),而Hadoop主要是在Linux操作系統(tǒng)環(huán)境下運(yù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é)點(diǎn)安裝和多節(jié)點(diǎn)的集群安裝方式,單節(jié)點(diǎn)方式在運(yùn)算時(shí)無法達(dá)到多節(jié)點(diǎn)并行運(yùn)算時(shí)的速度,讀者可根據(jù)實(shí)際情況自行選擇安裝方式。

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

主要包括以下步驟:

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

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

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

1.2 Hadoop單節(jié)點(diǎn)安裝

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

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

(2)設(shè)置SSH管理節(jié)點(diǎn)用于管理計(jì)算節(jié)點(diǎn),使用命令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啟動(dòng)Hadoop中的HDFS和YARN。

1.3 Hadoop集群安裝

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

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

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

Hadoop安裝步驟如下:

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

(2)配置data1的網(wǎng)卡和主機(jī)名,配置網(wǎng)卡使用命令sudo gedit /etc/network/interfaces,配置主機(jī)名使用命令sudo gedit /etc/hostname hosts,配置各節(jié)點(diǎn)主機(jī)名與對應(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重新啟動(dòng)后,查看data1的網(wǎng)絡(luò)配置是否成功,如果有eth0和eth1網(wǎng)卡同時(shí)出現(xiàn),表示網(wǎng)絡(luò)配置成功,同時(shí)可看到內(nèi)部網(wǎng)絡(luò)為172.16.100.101;

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

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

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

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

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

(1)編輯WordCount.java;

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

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

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

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

2 Spark安裝與測試

2.1 下載并安裝Scala和Spark

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

(1)下載Scala文件并解壓,將Scala移動(dòng)到/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)境變量生效,并啟動(dòng)spark-shell交互界面;

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

2.2 本地運(yùn)行spark-shell程序

運(yùn)行程序步驟如下:

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

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

(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è)計(jì)的Spark程序,每個(gè)程序必須定義SparkContext,它是開發(fā)Spark應(yīng)用程序的入口。Cluster Manager管理整個(gè)集群,集群中包含多個(gè)Worker Node,每個(gè)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è)置每個(gè)Worker使用的CPU核心和內(nèi)存的大小以及每個(gè)Worker的實(shí)例數(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運(yùn)行spark-shell

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

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

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

3 結(jié)語

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

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

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

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

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

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

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

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

[8] 王成,閆紅. 基于Hadoop技術(shù)的電信大數(shù)據(jù)平臺設(shè)計(jì)[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é)報(bào),2018,46(2): 289–297.

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

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

[13] 陳佳. 基于Spark的閉合序列模式手機(jī)病毒挖掘系統(tǒng)的設(shè)計(jì)與實(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)合基金項(xiàng)目(2017B00007);教育部產(chǎn)學(xué)合作協(xié)同育人項(xiàng)目(201702124017,201702124008);遼寧省創(chuàng)新創(chuàng)業(yè)教育改革試點(diǎn)專業(yè)項(xiàng)目(遼教函[2017]838號);遼寧省普通本科高等學(xué)校向應(yīng)用型轉(zhuǎn)變示范專業(yè)項(xiàng)目(遼教函[2017]779號);遼寧省普通高等教育本科教學(xué)改革研究項(xiàng)目(遼教函[2018]471號);遼寧科技大學(xué)研究生教育改革與創(chuàng)新項(xiàng)目(2016YJSCX20)

楊丹(1978—),女,遼寧鞍山,博士,副教授,研究方向?yàn)榉植际接?jì)算、大數(shù)據(jù)管理等。E-mail: asyangdan@163.com

猜你喜歡
環(huán)境變量配置文件大數(shù)據(jù)技術(shù)
提示用戶配置文件錯(cuò)誤 這樣解決
從桌面右鍵菜單調(diào)用環(huán)境變量選項(xiàng)
搭建簡單的Kubernetes集群
互不干涉混用Chromium Edge
徹底弄懂Windows 10環(huán)境變量
忘記ESXi主機(jī)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)用分析
石嘴山市| 南涧| 通海县| 瑞金市| 灵石县| 应用必备| 新密市| 裕民县| 舞钢市| 昌都县| 宿迁市| 东乡县| 滨海县| 青浦区| 卢湾区| 安庆市| 本溪市| 尚义县| 宣武区| 贵德县| 通渭县| 兴山县| 湖州市| 彭水| 巴楚县| 永德县| 双辽市| 永川市| 辽阳市| 四川省| 丽水市| 亚东县| 沽源县| 修水县| 宜良县| 涞水县| 三明市| 潢川县| 英山县| 建湖县| 林西县|