Hadoop單機(jī)模式的安裝以及執(zhí)行WordCount程序_第1頁(yè)
Hadoop單機(jī)模式的安裝以及執(zhí)行WordCount程序_第2頁(yè)
Hadoop單機(jī)模式的安裝以及執(zhí)行WordCount程序_第3頁(yè)
Hadoop單機(jī)模式的安裝以及執(zhí)行WordCount程序_第4頁(yè)
Hadoop單機(jī)模式的安裝以及執(zhí)行WordCount程序_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、工學(xué)院實(shí)驗(yàn)報(bào)告課程名稱: 分布式系統(tǒng)及云計(jì)算概論 實(shí)驗(yàn)項(xiàng)目名稱: Hadoop安裝以及執(zhí)行WordCount程序 學(xué) 院: 工學(xué)院 專業(yè)班級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 2014年 6 月 16 日一、 實(shí)驗(yàn)?zāi)康脑谔摂M機(jī)Ubantu上安裝Hadoop單機(jī)模式并且執(zhí)行WordCount程序。二、 實(shí)驗(yàn)儀器硬件:虛擬機(jī)Ubantu軟件: Windows 7操作系統(tǒng)三、 實(shí)驗(yàn)原理基于云計(jì)算的Hadoop實(shí)現(xiàn)。WordCountWordCount 例子讀取文本文件,并統(tǒng)計(jì)文件中單詞出現(xiàn)的頻數(shù)。WordCount對(duì)于hadoop的重要性,相當(dāng)于HelloWorld對(duì)于JAVA的重要性。如果你想學(xué)習(xí)

2、MapReduce變成模型,那么學(xué)習(xí)WordCount是一個(gè)最好的開(kāi)始。輸入輸入包含一組文件,文件中含有很多單詞輸出輸出是一個(gè)文本文件,文件的每一行包含一個(gè)單詞和這個(gè)單詞在所有輸入文件中出現(xiàn)的次數(shù)。輸入樣例input1:hello world bye worldinput2:hello hadoop bye hadoop輸出樣例:bye 2hadoop 2hello 2world 2四、實(shí)驗(yàn)內(nèi)容及步驟實(shí)驗(yàn)內(nèi)容: 一、安裝Linux操作系統(tǒng) 二、在Ubuntu下創(chuàng)建Hadoop用戶組和用戶 三、在Ubuntu下安裝JDK 四、修改機(jī)器名 五、安裝

3、ssh服務(wù) 六、建立ssh無(wú)密碼登錄本機(jī) 七、安裝Hadoop 八、在單機(jī)上運(yùn)行Hadoop九、Hadoop執(zhí)行WordCount程序?qū)嶒?yàn)步驟:一、安裝Linux操作系統(tǒng)在虛擬機(jī)上使用鏡像安裝好Ubantu 12.04系統(tǒng),此處不多做介紹,建議安裝的時(shí)候修改成中文版,更將有利于接下來(lái)的步驟。二、在Ubuntu下創(chuàng)建Hadoop用戶組和用戶這里考慮的是以后涉及到Hadoop應(yīng)用時(shí),專門用該用戶操作。用戶組名和用戶名都設(shè)為:hadoop??梢岳斫鉃樵揾adoop用戶是屬于一個(gè)名為hadoop的用戶組,這是linux操作系統(tǒng)的知識(shí),如果不清楚可以查看linux相關(guān)的書籍

4、。1、創(chuàng)建Hadoop用戶組,如圖(1)2、創(chuàng)建Hadoop用戶,如圖(2),除了Full name自己設(shè)置以外,其他的都可以直接Enter進(jìn)入默認(rèn)設(shè)置。3、給Hadoop用戶添加權(quán)限,打開(kāi)/etc/sudoers文件,如圖(3)按回車鍵后就會(huì)打開(kāi)/etc/sudoers文件了,給Hadoop用戶賦予root用戶同樣的權(quán)限。在root   ALL=(ALL:ALL)   ALL下添加hadoop   ALL=(ALL:ALL)  ALL,如圖(4)4、此時(shí)就可以重啟Ubantu進(jìn)入新建

5、的hadoop組了,選擇的是你新建的hadoop組的Full name那個(gè)用戶組,如下圖所示,我設(shè)置的是hadoop01,所以我重啟進(jìn)入的就是hadoop01.三、在Ubuntu下安裝JDK選擇的是jdk1.6.0_30版本。安裝文件名為jdk-6u30-linux-i586.bin.1、復(fù)制jdk到安裝目錄(1)假設(shè)jdk安裝文件在桌面,我們指定的安裝目錄是:/usr/local/java ??墒窍到y(tǒng)安裝后在/usr/local下并沒(méi)有java目錄,這需要我們?nèi)?chuàng)建一個(gè)java文件夾,如圖(5)(注:此時(shí)我已經(jīng)進(jìn)入了hadoop01了)(2)切換到桌面下,執(zhí)行復(fù)制,如圖(6)2、安裝jdk(

6、1)切換到root用戶下,如圖(7)(注:如果因忘記密碼而認(rèn)證失敗,可以先修改root用戶的密碼,再執(zhí)行第(1)步,修改root用戶密碼如圖(8)(2)運(yùn)行jdk-6u30-linux-i586.bin,如圖(9)注:可能此時(shí)仍然沒(méi)有執(zhí)行權(quán)限,那是因?yàn)樵趌inux中,文件的默認(rèn)權(quán)限是644,即使是屬主用戶也沒(méi)有執(zhí)行權(quán)限,這時(shí)我們需要更改其權(quán)限,如果你想知道某個(gè)文件的權(quán)限,可以進(jìn)入該文件所在的文件夾,執(zhí)行命令ls la 查看。這里將jdk-6u30-linux-i586.bin文件的權(quán)限改為777,即文件的屬主用戶,屬組用戶和其他用戶對(duì)該文件擁有所有權(quán)限,當(dāng)然不推薦對(duì)系統(tǒng)中的文件這樣設(shè)置權(quán)限,因

7、為這樣就破壞了linux的安全性。)更改jdk-6u30-linux-i586.bin權(quán)限,如圖(10)更改權(quán)限后再執(zhí)行第(2)步,當(dāng)看到如圖(11)情況時(shí),說(shuō)明你安裝成功了。(3)這時(shí)在/usr/local/java目錄下就多了一個(gè)jdk1.6.0_30文件夾.,可以查看一下,如圖(12)3、配置環(huán)境變量(1)打開(kāi)/etc/profile文件,如圖(13)(2)添加變量如下:1. # /etc/profile: system-wide .profile file for the Bourne shell 

8、;(sh(1)  2. # and Bourne compatible shells (bash(1), ksh(1), ash(1), .).  3. #set java environment  4.   5. export JAVA_HOME=/usr/local/java/jdk1.6.0_30  6.   7. export JRE_HOME=/u

9、sr/local/java/jdk1.6.0_30/jre  8.   9. export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH  10.   11. export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH    (注:為了以后集群工作的方便,這里建議每臺(tái)機(jī)器的java環(huán)境最好一致。)一般更改/etc/profile文件后,需要重啟

10、機(jī)器才能生效。這里介紹一種不用重啟使其生效的方法,如圖(14)(3)查看java環(huán)境變量是否配置成功,如圖(15)四、修改機(jī)器名(這一步驟可以有,也可以不需要)每當(dāng)Ubuntu安裝成功時(shí),我們的機(jī)器名都默認(rèn)為:ubuntu ,但為了以后集群中能夠容易分辨各臺(tái)服務(wù)器,需要給每臺(tái)機(jī)器取個(gè)不同的名字。機(jī)器名由 /etc/hostname文件決定。1、打開(kāi)/etc/hostname文件,如圖(16)2、回車后就打開(kāi)/etc/hostname文件了,將/etc/hostname文件中的Ubuntu改為你想取的機(jī)器名。這里我取“s18”。重啟系統(tǒng)后才會(huì)生效。 五、安裝ssh服

11、務(wù)這里的ssh和三大框架:spring,struts,hibernate沒(méi)有什么關(guān)系,ssh可以實(shí)現(xiàn)遠(yuǎn)程登錄和管理,具體可以參考其他相關(guān)資料。1、安裝openssh-server(注:自動(dòng)安裝openssh-server時(shí),可能會(huì)進(jìn)行不下去,可以先進(jìn)行如下操作:如圖(17)) 更新過(guò)程可能會(huì)比較長(zhǎng),需要耐心等待。然后輸入如圖(18)此處也是比較慢,需要等待2、更新的快慢取決于您的網(wǎng)速了,如果中途因?yàn)闀r(shí)間過(guò)長(zhǎng)您中斷了更新(Ctrl+z),當(dāng)您再次更新時(shí),會(huì)更新不了,報(bào)錯(cuò)為:“Ubuntu無(wú)法鎖定管理目錄(/var/lib/dpkg/),是否有其他進(jìn)程占用它?“需要如下操作,如圖(19)

12、 操作完成后繼續(xù)執(zhí)行第1步。這時(shí)假設(shè)您已經(jīng)安裝好了ssh,您就可以進(jìn)行第六步了。六、建立ssh無(wú)密碼登錄本機(jī)ssh生成密鑰有rsa和dsa兩種生成方式,默認(rèn)情況下采用rsa方式。 1、創(chuàng)建ssh-key,這里我們采用rsa方式,如圖(20)(注:回車后會(huì)在/.ssh/下生成兩個(gè)文件:id_rsa和id_rsa.pub這兩個(gè)文件是成對(duì)出現(xiàn)的) 2、進(jìn)入/.ssh/目錄下,將id_rsa.pub追加到authorized_keys授權(quán)文件中,開(kāi)始是沒(méi)有authorized_keys文件的,如圖(21)完成后就可以無(wú)密碼登錄本機(jī)了。3、登錄localhost,如圖(22

13、)( 注:當(dāng)ssh遠(yuǎn)程登錄到其它機(jī)器后,現(xiàn)在你控制的是遠(yuǎn)程的機(jī)器,需要執(zhí)行退出命令才能重新控制本地主機(jī)。) 4、執(zhí)行退出命令,如圖(23)七、安裝Hadoop我采用的Hadoop版本是從 這個(gè)網(wǎng)站中的資源下載中的hadoop-0.20.2.tar.gz1、假設(shè)hadoop-0.20.2.tar.gz在桌面,將它復(fù)制到安裝目錄 /usr/local/下,如圖(24)2、解壓hadoop-0.20.2.tar.gz,如圖(25) 3、將解壓出的文件夾改名為Hadoop,如圖(26)4、將該hadoop文件夾的屬主用戶設(shè)為hadoop,如圖(27)5、打開(kāi)ha

14、doop/conf/hadoop-env.sh文件,如圖(28)6、配置conf/Hadoop-env.sh(找到#export JAVA_HOME=.,去掉#,然后加上本機(jī)jdk的路徑),如圖(29)7、打開(kāi)conf/core-site.xml文件 編輯如下:(注:9000最好是手打,避免產(chǎn)生不必要的錯(cuò)誤)8、打開(kāi)conf/mapred-site.xml文件,編輯如下:(注:9001最好是手打,避免產(chǎn)生不必要的錯(cuò)誤)9、打開(kāi)conf/hdfs-site.xml文件,編輯如下:10、打開(kāi)conf/masters文件,添加作為secondarynamenode的主機(jī)名,作為單

15、機(jī)版環(huán)境,這里只需填寫localhost就Ok了。  11、打開(kāi)conf/slaves文件,添加作為slave的主機(jī)名,一行一個(gè)。作為單機(jī)版,這里也只需填寫localhost就Ok了八、在單機(jī)上運(yùn)行Hadoop1、進(jìn)入Hadoop目錄下,格式化hdfs文件系統(tǒng),初次運(yùn)行hadoop時(shí)一定要有該操作,如圖(30)當(dāng)你看到下圖時(shí),就說(shuō)明你的hdfs文件系統(tǒng)格式化成功了。3、啟動(dòng)bin/start-all.sh,如圖(31)4、檢測(cè)Hadoop是否啟動(dòng)成功,如圖(32)如果有Namenode,SecondaryNameNode,TaskTracker,DataNode,JobTr

16、acker五個(gè)進(jìn)程,就說(shuō)明你的Hadoop單機(jī) 版環(huán)境配置好了。九、Hadoop執(zhí)行WordCount程序1、首先如果你沒(méi)打開(kāi)hadoop,那么就參照第八個(gè)步驟的第3個(gè)步驟,開(kāi)啟hadoop,用jps驗(yàn)證。2、首先在"/usr/local/hadoop"目錄下創(chuàng)建文件夾"file"。3、接著創(chuàng)建兩個(gè)文本文件file1.txt和file2.txt,使file1.txt內(nèi)容為"Hello World",而file2.txt的內(nèi)容為"Hello Hadoop"。這里按cd .回到hadoops18:$,按照如圖

17、步驟創(chuàng)建2個(gè)txt。4、在HDFS上創(chuàng)建輸入文件夾,hdfs路徑如紅框。5、上傳本地file中文件到集群的input目錄下6、這個(gè)步驟不知道為什么原因,但是我在錯(cuò)誤的情況下修改的一些地方,建議直接先到第7步驗(yàn)證后再回來(lái)看第6步。(1)(2)首先查看自己的虛擬機(jī)的IP地址,包括之前第四步設(shè)置的主機(jī)名。查看IP地址使用命令ifconfig,查看主機(jī)名修改使用sudo gedit /etc/hostname,路徑如下輸入這個(gè)修改,增添IP地址,(注:不知道是不是修改了這些的原因就可以執(zhí)行程序了)。(3)前面2個(gè)設(shè)好后還是不行的話,看看是不是這里沒(méi)有設(shè)置好7、接下來(lái)有2種方法運(yùn)行wordcount.j

18、ava,首先介紹第一種(1)運(yùn)行WordCount程序如果提示你output已經(jīng)存在,那么輸入./hadoop dfs rmr output刪除output文件夾即可,在如下路徑中輸入接著重新第(1)步(2)運(yùn)行過(guò)程,(注:該過(guò)程可能需要5-10分鐘)(3)查看結(jié)果接下來(lái)介紹第二種方法(1)新建一個(gè)目錄,方法如下圖(2)輸入如下命令,如箭頭所示,編譯WordCount.java程序編譯完后在/home/admin/WordCount目錄會(huì)發(fā)現(xiàn)三個(gè)class文件 WordCount.class,WordCount$Map.class,WordCount$Reduce.class。cd 進(jìn)入 /usr/local/hadoop/file目錄,然后執(zhí)行:jar cvf WordCount.jar *.class就會(huì)生成 WordCount.jar 文件。(3)因?yàn)槲覀円呀?jīng)構(gòu)建好了2個(gè)txt,所以我們現(xiàn)在只要執(zhí)行現(xiàn)在生成的WordCount.jar 文件就好了。(4)查看結(jié)果和第一種方法一致至此,我們已經(jīng)完全驗(yàn)證完如何在Hadoop的單機(jī)模式下運(yùn)行WordCount.java程序。五、

溫馨提示

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

評(píng)論

0/150

提交評(píng)論