2023國開大數(shù)據(jù)導(dǎo)論實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)2 Hadoop開發(fā)環(huán)境部署_第1頁
2023國開大數(shù)據(jù)導(dǎo)論實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)2 Hadoop開發(fā)環(huán)境部署_第2頁
2023國開大數(shù)據(jù)導(dǎo)論實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)2 Hadoop開發(fā)環(huán)境部署_第3頁
2023國開大數(shù)據(jù)導(dǎo)論實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)2 Hadoop開發(fā)環(huán)境部署_第4頁
2023國開大數(shù)據(jù)導(dǎo)論實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)2 Hadoop開發(fā)環(huán)境部署_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

實(shí)驗(yàn)2Hadoop開發(fā)環(huán)境部署Hadoop是一個(gè)能夠?qū)Υ髷?shù)據(jù)進(jìn)行分布式處理的軟件架構(gòu),其可以通過可靠、高效、可伸縮的方式進(jìn)行數(shù)據(jù)處理。Hadoop技術(shù)是推動(dòng)大數(shù)據(jù)應(yīng)用的重要引擎之一,可以使用該技術(shù)收集、清洗和分析大量結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。運(yùn)行環(huán)境部署是一項(xiàng)技術(shù)要求較高,但必須掌握的技術(shù)。Hadoop是大數(shù)據(jù)分布式處理平臺(tái),在大數(shù)據(jù)離線處理方面,尤其是批處理中得到了廣泛的應(yīng)用。1.實(shí)驗(yàn)?zāi)康耐ㄟ^Hadoop環(huán)境部署實(shí)驗(yàn)練習(xí),學(xué)生可以掌握Hadoop系統(tǒng)安裝方法、偽分布式Hadoop的安裝方法和Eclipse開發(fā)環(huán)境的安裝具體過程與使用方法,并能夠靈活運(yùn)用,進(jìn)而為解決大數(shù)據(jù)分析問題奠定環(huán)境構(gòu)建與部署的基礎(chǔ),不僅為后續(xù)的基于Hadoop環(huán)境的各個(gè)實(shí)驗(yàn)建立基礎(chǔ),而且可以提高工程實(shí)踐能力。2.實(shí)驗(yàn)要求在理解本實(shí)驗(yàn)相關(guān)理論的基礎(chǔ)上制訂安裝計(jì)劃,獨(dú)立完成Hadoop開發(fā)環(huán)境部署過程,主要內(nèi)容如下所述。(1)制訂安裝計(jì)劃。(2)安裝SSH協(xié)議。(3)安裝OpenJDK1.8開發(fā)環(huán)境。(4)Hadoop系統(tǒng)部署。(5)偽分布式Hadoop環(huán)境部署。(6)Eclipse開發(fā)環(huán)境的安裝。3.實(shí)驗(yàn)內(nèi)容(1)制訂實(shí)驗(yàn)計(jì)劃。(2)完成SSH協(xié)議安裝。(3)完成OpenJDK1.8安裝。(4)完成Hadoop系統(tǒng)部署。(5)完成偽分布式Hadoop環(huán)境部署。(6)完成Eclipse開發(fā)環(huán)境的安裝。4.實(shí)驗(yàn)總結(jié)通過本實(shí)驗(yàn),使學(xué)生了解Hadoop的特點(diǎn)和總體結(jié)構(gòu),理解MapReduce程序的執(zhí)行過程,掌握偽分布式Hadoop的安裝方法和Eclipse開發(fā)環(huán)境的安裝與使用方法。5.思考拓展(1)為什么需要安裝SSH協(xié)議?說明SSH協(xié)議功能及安裝方法。(2)為什么需要安裝OpenJDK1.8軟件?說明OpenJDK1.8功能及安裝方法。(3)結(jié)合MapReduce程序執(zhí)行過程,說明其并行處理的特性。(4)結(jié)合Hadoop的處理過程,說明其離線處理特點(diǎn)。(5)說明分布式Hadoop處理與偽分布式Hadoop處理的區(qū)別。(6)說明Eclipse開發(fā)環(huán)境的優(yōu)勢。答:Hadoop開發(fā)環(huán)境部署方法如下Hadoop偽分布式配置創(chuàng)建Hadoop用戶:sudouseradd-mhadoop-s/bin/bash#創(chuàng)建hadoop用戶sudopasswdhadoop#修改密碼sudoadduserhadoopsudo#增加管理員權(quán)限Shell命令\o"復(fù)制代碼"\o"查看純文本代碼"注銷并使用Hadoop用戶登錄,接著更新apt并且安裝vim:sudoapt-getupdate#更新aptsudoapt-getinstallvim#安裝vimShell命令\o"復(fù)制代碼"\o"查看純文本代碼"安裝SSH,配置無密碼登錄:sudoapt-getinstallopenssh-servercd~mkdir.ssh#可能該文件已存在,不影響cd~/.ssh/ssh-keygen-trsa#會(huì)有提示,都按回車就可以catid_rsa.pub>>authorized_keys#加入授權(quán)Shell命令\o"復(fù)制代碼"\o"查看純文本代碼"安裝Java環(huán)境:sudoapt-getinstallopenjdk-7-jreopenjdk-7-jdkvim~/.bashrc#設(shè)置JAVA_HOMEShell命令\o"復(fù)制代碼"\o"查看純文本代碼"在文件最前面添加如下單獨(dú)一行:exportJAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64使JAVA_HOME變量生效:source~/.bashrc#使變量設(shè)置生效Shell命令\o"復(fù)制代碼"\o"查看純文本代碼"安裝Hadoop2:cd~/下載sudotar-zxvf./hadoop-2.6.0.tar.gz-C/usr/local#解壓到/usr/local中cd/usr/local/sudomv./hadoop-2.6.0/./hadoop#將文件夾名改為hadoopsudochown-Rhadoop./hadoop#修改文件權(quán)限Shell命令\o"復(fù)制代碼"\o"查看純文本代碼"進(jìn)行偽分布式配置:修改配置文件

core-site.xml

(vim/usr/local/hadoop/etc/hadoop/core-site.xml):<configuration><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abaseforothertemporarydirectories.</description></property><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property></configuration>修改配置文件

hdfs-site.xml:<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property></configuration>啟動(dòng)Hadoop:cd/usr/local/hadoopbin/hdfsnamenode-format#namenode格式化sbin/start-dfs.sh#開啟守護(hù)進(jìn)程jps#判斷是否啟動(dòng)成功Shell命令\o"復(fù)制代碼"\o"查看純文本代碼"若成功啟動(dòng)則會(huì)列出如下進(jìn)程:

NameNode、DataNode和SecondaryNameNode。運(yùn)行WordCount實(shí)例:bin/hdfsdfs-mkdir-p/user/hadoop#創(chuàng)建HDFS目錄bin/hdfsdfs-mkdirinputbin/hdfsdfs-putetc/hadoop/*.xmlinput#將配置文件作為輸入bin/hadoopjarshare/hadoop/mapreduce/hadoop-mapreduce-examples-*.jargrepinputoutput'dfs[a-z.]+'bin/hdfsdfs-catoutput/*#查看輸出Shell命令

1.3安裝SSH

Ubuntu默認(rèn)已安裝了SSH客戶端,因此,這里還需要安裝SSH服務(wù)端1.3.1安裝SSH服務(wù)端

請?jiān)贚inux的終端中執(zhí)行以下命令:

下載安裝包:拷貝代碼sudowget/fileserver/big_data_common/data/openssh-client_7.2p2-4_amd64.debsudowget/fileserver/big_data_common/data/openssh-server_7.2p2-4_amd64.deb

安裝軟件:

拷貝代碼sudodpkg-iopenssh-client_7.2p2-4_amd64.deb

拷貝代碼sudodpkg-iopenssh-server_7.2p2-4_amd64.deb

或者也可用下面方法:

∥安裝Java環(huán)境

Java環(huán)境可選擇Oracle的JDK,或是OpenJDK,需要安裝1.7以上的版本,這里直接通過命令安裝OpenJDK8:

拷貝代碼cd/home/user/Downloadssudotar-vxfjdk-8u11-linux-x64.tar.gz安裝好JDK后,需要找到相應(yīng)的安裝路徑,這個(gè)路徑是用于配置JAVA_HOME環(huán)境變量的。

拷貝代碼vim~/.bashrc在文件最前面添加如下單獨(dú)一行(注意=號前后不能有空格):拷貝代碼exportJAVA_HOME=/home/user/Downloads/jdk1.8.0_11接著還需要讓該環(huán)境變量生效,執(zhí)行如下代碼:

拷貝代碼source~/.bashrc設(shè)置好后需要檢驗(yàn)一下是否設(shè)置正確:檢驗(yàn)變量值拷貝代碼echo$JAVA_HOME

拷貝代碼java-version#與直接執(zhí)行java-version一樣拷貝代碼$JAVA_HOME/bin/java-version

如果設(shè)置正確的話,java-version會(huì)輸出java的版本信息。

2安裝Hadoop

Hadoop包括三種安裝模式:

①單機(jī)模式:只在一臺(tái)機(jī)器上運(yùn)行,存儲(chǔ)是采用本地文件系統(tǒng),沒有采用分布式文件系統(tǒng)HDFS;

②偽分布式模式:存儲(chǔ)采用分布式文件系統(tǒng)HDFS,但是,HDFS的名稱節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)都在同一臺(tái)機(jī)器上;

③分布式模式:存儲(chǔ)采用分布式文件系統(tǒng)HDFS,而且,HDFS的名稱節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)位于不同機(jī)器上。

本節(jié)介紹Hadoop的具體安裝方法,包括下載安裝文件、單機(jī)模式配置、偽分布式模式配置、分布式模式配置等。

2.1下載安裝文件

2.1.1下載文件打開瀏覽器,訪問如下鏈接進(jìn)行下載:

拷貝代碼/fileserver/big_data_common/data/hadoop-2.7.1.tar.gz文件將會(huì)下載到/home/user/Downloads目錄下

2.1.2安裝文件

下載完安裝文件以后,需要對文件進(jìn)行解壓。按照Linux系統(tǒng)使用的默認(rèn)規(guī)范,用戶安裝的軟件一般都是存放在“/usr/local/”目錄下。請使用hadoop用戶登錄Linux系統(tǒng),打開一個(gè)終端,進(jìn)行以下操作:解壓

解壓到/usr/local中拷貝代碼sudotar-zxf/home/user/Downloads/hadoop-2.7.1.tar.gz-C/u

將文件夾名改為hadoop

拷貝代碼cd/usr/localsudomv./hadoop-2.7.1/./hadoop修改文件權(quán)限

拷貝代碼sudochown-Rhadoop./hadoop

檢查Hadoop是否可用

Hadoop解壓后即可使用,可以輸入如下命令來檢查Hadoop是否可用,成功則會(huì)顯示Hadoop版本信息:拷貝代碼cd/usr/local/hadoop./bin/hadoopversion

2.2單機(jī)模式配置

Hadoop默認(rèn)模式為非分布式模式(本地模式),只需配置好hadoop-env.sh文件中的JAVA_HOME,無需進(jìn)行其他配置即可運(yùn)行。

配置hadoop-env.sh文件中的JAVA_HOME步驟如下:

先輸入echo$JAVA_HOME命令查看JAVA_HOME的路徑拷貝代碼vi/usr/local/hadoop/etc/hadoop/hadoop-env.sh

進(jìn)入編輯界面后找到exoortJAVA_HOME=${JAVA_HOME}

將${JAVA_HOME}替換為真正的JAVA_HOME路徑即可,然后保存退出。

以下是真實(shí)的JAVA_HOME:拷貝代碼/usr/share/jdk1.8.0_181

可以直接替換,直接把前一行注釋掉,然后粘貼后一行

:wq!保存并且退出2.2.1查看所有例子

Hadoop附帶了豐富的例子,運(yùn)行如下命令可以查看所有例子:

拷貝代碼cd/usr/local/hadoopsudo./bin/hadoopjar./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar

上述命令執(zhí)行后,會(huì)顯示所有例子的簡介信息,包括grep、join、wordcount等。

2.2.2運(yùn)行g(shù)rep例子

這里選擇運(yùn)行g(shù)rep例子,可以先在“/usr/local/hadoop”目錄下創(chuàng)建一個(gè)文件夾input,并復(fù)制一些文件到該文件夾下,然后,運(yùn)行g(shù)rep程序,將input文件夾中的所有文件作為grep的輸入,讓grep程序從所有文件中篩選出符合正則表達(dá)式“dfs[a-z.]+”的單詞,并統(tǒng)計(jì)單詞出現(xiàn)的次數(shù),最后,把統(tǒng)計(jì)結(jié)果輸出到“/usr/local/hadoop/output”文件夾中。配置hosts

實(shí)驗(yàn)第一步我們已經(jīng)配置過hosts了。將配置文件復(fù)制到input目錄下

拷貝代碼cd/usr/local/hadoopmkdirinputcp./etc/hadoop/*.xml./input

運(yùn)行

拷貝代碼./bin/hadoopjar./share/hadoop/mapreduce/hadoop-mapreduc

查看運(yùn)行結(jié)果

拷貝代碼cat./output/*

執(zhí)行成功后,輸出了作業(yè)的相關(guān)信息,輸出的結(jié)果是符合正則表達(dá)式的單詞“dfsadmin”出現(xiàn)了1次。

刪除output文件

需要注意的是,Hadoop默認(rèn)不會(huì)覆蓋結(jié)果文件,因此,再次運(yùn)行上面實(shí)例會(huì)提示出錯(cuò)。如果要再次運(yùn)行,需要先使用如下命令把output文件夾刪除:拷貝代碼rm-r./output

3偽分布式模式配置

Hadoop可以在單個(gè)節(jié)點(diǎn)(一臺(tái)機(jī)器)上以偽分布式的方式運(yùn)行,同一個(gè)節(jié)點(diǎn)既作為名稱節(jié)點(diǎn)(NameNode),也作為數(shù)據(jù)節(jié)點(diǎn)(DataNode),讀取的是分布式文件系統(tǒng)HDFS中的文件。3.1修改配置文件

需要配置相關(guān)文件,才能夠讓Hadoop在偽分布式模式下順利運(yùn)行。Hadoop的配置文件位于“/usr/local/hadoop/etc/hadoop/”中,進(jìn)行偽分布式模式配置時(shí),需要修改2個(gè)配置文件,即core-site.xml和hdfs-site.xml。3.1.1修改core-site.xml文件

可以使用vim編輯器打開core-site.xml文件,它的初始內(nèi)容如下:

修改以后,core-site.xml文件的內(nèi)容如下:

拷貝代碼<configuration><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abaseforothertemporarydirectories.</description></property><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property></configuration>在上面的配置文件中,hadoop.tmp.dir用于保存臨時(shí)文件,若沒有配置hadoop.tmp.dir這個(gè)參數(shù),則默認(rèn)使用的臨時(shí)目錄為“/tmp/hadoo-hadoop”,而這個(gè)目錄在Hadoop重啟時(shí)有可能被系統(tǒng)清理掉,導(dǎo)致一些意想不到的問題,因此,必須配置這個(gè)參數(shù)。fs.defaultFS這個(gè)參數(shù),用于指定HDFS的訪問地址,其中,9000是端口號。3.1.2修改hdfs-site.xml文件

修改配置文件hdfs-site.xml,修改后的內(nèi)容如下:

刪除原來兩個(gè)configuration,然后直接粘貼下面的代碼??截惔a<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property></configuration>3.2執(zhí)行名稱節(jié)點(diǎn)格式化

修改配置文件以后,要執(zhí)行名稱節(jié)點(diǎn)的格式化,命令如下:

拷貝代碼cd/usr/local/hadoop./bin/hdfsnamenode-format

如果格式化成功,會(huì)看到“successfullyformatted”和“Exittingwithstatus0”的提示信息,若為“Exittingwithstatus1”,則表示出現(xiàn)錯(cuò)誤。

配置hadoop-env.sh,vimhadoop-env.sh

找到文件中的“exportJAVA_HOME=${JAVA_HOME}”,

將等號右邊的內(nèi)容替換為我們剛剛安裝的真實(shí)的JAVA_HOME,即/home/user/Downloads/jdk1.8.0_11配置hosts,輸入以下命令即可配置hosts

echo""$HOSTNAME|sudotee-a/etc/hosts配置完成后,需要執(zhí)行NameNode的格式化(這一步比較重要,在格式化之前一定要保證,自己前面的都配置好了,如果格式化之后,啟動(dòng)hadoop還沒成功,就需要重新配置JAVA環(huán)境或者是hadoop重新安裝),命令如下:

cd/usr/local/hadoop

./bin/hdfsnamenode-format接著開啟NameNode和DataNode守護(hù)進(jìn)程,命令如下:

拷貝代碼

cd/usr/local/hadoop

./sbin/start-dfs.sh拷貝代碼

cd/usr/local/hadoop

./bin/hdfsnamenode-format3.3啟動(dòng)Hadoop

3.3.1啟動(dòng)

執(zhí)行下面命令啟動(dòng)Hadoop:

拷貝代碼cd/usr/local/hadoop./sbin/start-dfs.shstart-dfs.sh

是個(gè)完整的可執(zhí)行文件,中間沒有空格,啟動(dòng)過程中有需要輸入“yes”的地方需要輸入“yes”。

啟動(dòng)時(shí)可能會(huì)出現(xiàn)如下警告信息:WARNutil.NativeCodeLoader:Unabletoloadnative-hadooplibraryforyourplatform…usingbuiltin-javaclasseswhereapplicableWARN

這個(gè)警告提示信息可以忽略,并不會(huì)影響Hadoop正常使用

3.3.2判斷是否成功啟動(dòng)

Hadoop啟動(dòng)完成后,可以通過命令jps來判斷是否成功啟動(dòng),命令如下:

拷貝代碼jps

若成功啟動(dòng),則會(huì)列出如下進(jìn)程:NameNode、DataNode和SecondaryNameNode。

通過start-dfs.sh命令啟動(dòng)Hadoop以后,就可以運(yùn)行MapReduce程序處理數(shù)據(jù),此時(shí)是對HDFS進(jìn)行數(shù)據(jù)讀寫,而不是對本地文件進(jìn)行讀寫。

如果能夠看到SecondaryNameNode、NameNode和DataNode三個(gè)進(jìn)程,就說明啟動(dòng)成功了。如果要停止Hadoop執(zhí)行,可以執(zhí)行如下命令:

/usr/local/hadoop

./sbin/stop-dfs.sh

3.4使用Web界面查看HDFS信息

Hadoop成功啟動(dòng)后,可以在Linux系統(tǒng)中(不是Windows系統(tǒng))打開一個(gè)瀏覽器,在地址欄輸入如下地址,就可以查看名稱節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)信息,還可以在線查看HDFS中的文件。

拷貝代碼http://localhost:500703.5運(yùn)行Hadoop偽分布式實(shí)例

上面的單機(jī)模式中,grep例子讀取的是本地?cái)?shù)據(jù),偽分布式模式下,讀取的則是分布式文件系統(tǒng)HDFS上的數(shù)據(jù)。3.5.1HDFS中創(chuàng)建用戶目錄

要使用HDFS,首先需要在HDFS中創(chuàng)建用戶目錄(本教程全部統(tǒng)一采用hadoop用戶名登錄Linux系統(tǒng)),命令如下:

拷貝代碼cd/usr/local/hadoop./bin/hdfsdfs-mkdir-p/user/hadoop3.5.2復(fù)制文件

接著需要把本地文件系統(tǒng)的“/usr/local/hadoop/etc/hadoop”目錄中的所有xml文件作為輸入文件,復(fù)制到分布式文件系統(tǒng)HDFS中的“/user/hadoop/input”目錄中,命令如下:

拷貝代碼cd/usr/local/hadoop./bin/hdfsdfs-mkdirinput在HDFS中創(chuàng)建hadoop用戶對應(yīng)的input目錄

拷貝代碼./bin/hdfsdfs-put./etc/hadoop/*.xmlinput

把本地文件復(fù)制到HDFS中3.5.3查看HDFS中的文件列表

復(fù)制完成后,可以通過如下命令查看HDFS中的文件列表:

拷貝代碼./bin/hdfsdfs-lsinput

執(zhí)行上述命令以后,可以看到input目錄下的文件信息。3.5.4運(yùn)行g(shù)rep程序

現(xiàn)在就可以運(yùn)行Hadoop自帶的grep程序,命令如下:

拷貝代碼./bin/hadoopjar./share/hadoop/mapreduce/hadoop-mapr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論