版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年生態(tài)園林苗圃場地出租與養(yǎng)護(hù)服務(wù)合同3篇
- 2024年蘋果產(chǎn)品市場調(diào)研與消費(fèi)者洞察合作協(xié)議3篇
- 2024年茶樓金融服務(wù)合同
- 2024植筋加固工程合同糾紛解決協(xié)議3篇
- 2024年貨車租車市場拓展合同
- 2024年虛擬現(xiàn)實(shí)產(chǎn)業(yè)勞動(dòng)合同與聘用合同3篇
- 2024年版特定事務(wù)擔(dān)保合同范本版B版
- 2024年版房產(chǎn)協(xié)議簽訂詳解手冊版B版
- 2024再婚夫妻離婚協(xié)議書:共同財(cái)產(chǎn)分割、子女監(jiān)護(hù)權(quán)及撫養(yǎng)費(fèi)協(xié)議范本6篇
- 2024無債務(wù)離婚合同范本(簡化版)版
- 【人民日報(bào)】72則金句期末評語模板-每頁6張
- 會(huì)計(jì)研究方法論智慧樹知到期末考試答案章節(jié)答案2024年長安大學(xué)
- 2023-2024學(xué)年福建省泉州九年級(上)期末英語試卷
- RB/T 140-2023空中乘務(wù)教育培訓(xùn)服務(wù)認(rèn)證要求
- 2024年中國航空油料集團(tuán)有限公司校園招聘考試試題必考題
- 知識(shí)圖譜智慧樹知到期末考試答案章節(jié)答案2024年浙江大學(xué)
- 《灰塵的旅行》導(dǎo)讀
- 高血壓患者不遵醫(yī)飲食行為的原因分析及對策
- 60周歲以上的老年人換領(lǐng)C1駕照三力測試題答案
- 社區(qū)依法執(zhí)業(yè)培訓(xùn)課件
- ISO50001能源管理體系管理評審報(bào)告OK
評論
0/150
提交評論