實(shí)驗(yàn)一 Hadoop的安裝與使用_第1頁(yè)
實(shí)驗(yàn)一 Hadoop的安裝與使用_第2頁(yè)
實(shí)驗(yàn)一 Hadoop的安裝與使用_第3頁(yè)
實(shí)驗(yàn)一 Hadoop的安裝與使用_第4頁(yè)
實(shí)驗(yàn)一 Hadoop的安裝與使用_第5頁(yè)
已閱讀5頁(yè),還剩2頁(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)告書(shū)課程名:云計(jì)算技術(shù) 題 目: 實(shí)驗(yàn)一、Hadoop的安裝與使用 實(shí)驗(yàn)類(lèi)別 【設(shè)計(jì)】 班 級(jí): bx1002 學(xué) 號(hào): 31 姓 名: 楊漢標(biāo) 評(píng)語(yǔ):實(shí)驗(yàn)內(nèi)容: 優(yōu)秀 良好 合格 一般 不合格 報(bào)告格式: 優(yōu)秀 良好 合格 一般 不合格 實(shí)驗(yàn)態(tài)度: 優(yōu)秀 良好 合格 一般 不合格 實(shí)驗(yàn)結(jié)果: 優(yōu)秀 良好 合格 一般 不合格 課題紀(jì)律: 優(yōu)秀 良好 合格 一般 不合格 成績(jī): 指導(dǎo)教師: 楊志和 批閱時(shí)間: 年 月 日【實(shí)驗(yàn)環(huán)境】計(jì)算機(jī)、Java、Hadoop【實(shí)驗(yàn)?zāi)康摹?理解云計(jì)算的基本理論知識(shí);2理解Hadoop的基本概念3掌握如何在Linux上安裝Hadoop;【實(shí)驗(yàn)要

2、求】1 下載Hadoop和JDK;2 安裝SSH;3 對(duì)Linux進(jìn)行相應(yīng)配置?!净A(chǔ)知識(shí)】l Hadoop是Google MapReduce的一個(gè)Java實(shí)現(xiàn)。MapReduce是一種簡(jiǎn)化的分布式編程模式,讓程序自動(dòng)分布到一個(gè)由普通機(jī)器組成的超大集群上并發(fā)執(zhí)行。就如同java程序員可以 不考慮內(nèi)存泄露一樣, MapReduce的run-time系統(tǒng)會(huì)解決輸入數(shù)據(jù)的分布細(xì)節(jié),跨越機(jī)器集群的程序執(zhí)行調(diào)度,處理機(jī)器的失效,并且管理機(jī)器之間的通訊請(qǐng)求。這樣的模式允許程序員可以不需要有什么并發(fā)處理或者分布式系統(tǒng)的經(jīng)驗(yàn),就可以處理超大的分布式系統(tǒng)得資源。l 程序員的開(kāi)發(fā)步驟:1. 定義Mapper,處理

3、輸入的 Key-Value 對(duì),2. 定義Reducer,可選,對(duì)中間結(jié)果進(jìn)行規(guī)約,輸出最終結(jié)果3. 定義 InputFormat 和 OutputFormat,可選,InputFormat 將每行為 Java 類(lèi)供Mapper函數(shù)使用,不定義時(shí)默認(rèn)為 String。 4. 定義main 函數(shù),在里面定義一個(gè) Job 并運(yùn)行它l Hadoop的工作過(guò)程一個(gè)集群中只有一個(gè)NameNode,可以有多個(gè)DataNodes;namenode 承擔(dān)數(shù)據(jù)的位置存儲(chǔ)信息,并將存儲(chǔ)位置信息告訴client端;得到位置信息后,client端開(kāi)始寫(xiě)數(shù)據(jù);寫(xiě)數(shù)據(jù)的時(shí)候是將數(shù)據(jù)分塊,并存儲(chǔ)為多份(一般為3份),放在不

4、同的datanode 節(jié)點(diǎn); client 先將數(shù)據(jù)寫(xiě)到第一個(gè)節(jié)點(diǎn),在第一個(gè)節(jié)點(diǎn)接收數(shù)據(jù)的同時(shí),又將它所接收的數(shù)據(jù)推送到第二個(gè),第二個(gè)推送到第三個(gè)節(jié)點(diǎn),如果有多個(gè)節(jié)點(diǎn),依次類(lèi)推;從圖中可以知道 NameNode 不參與數(shù)據(jù)塊的IO的。n NameNode 是一個(gè)通常在 HDFS 實(shí)例中的單獨(dú)機(jī)器上運(yùn)行的軟件。它負(fù)責(zé)管理文件系統(tǒng)名稱空間和控制外部客戶機(jī)的訪問(wèn)。NameNode 決定是否將文件映射到 DataNode 上的復(fù)制塊上。對(duì)于最常見(jiàn)的 3 個(gè)復(fù)制塊,第一個(gè)復(fù)制塊存儲(chǔ)在同一機(jī)架的不同節(jié)點(diǎn)上,最后一個(gè)復(fù)制塊存儲(chǔ)在不同機(jī)架的某個(gè)節(jié)點(diǎn)上。注意,這里需要您了解集群架構(gòu)。實(shí)際的 I/O 事務(wù)并沒(méi)有經(jīng)

5、過(guò) NameNode,只有表示 DataNode 和塊的文件映射的元數(shù)據(jù)經(jīng)過(guò) NameNode。當(dāng)外部客戶機(jī)發(fā)送請(qǐng)求要求創(chuàng)建文件時(shí),NameNode 會(huì)以塊標(biāo)識(shí)和該塊的第一個(gè)副本的 DataNode IP 地址作為響應(yīng)。這個(gè) NameNode 還會(huì)通知其他將要接收該塊的副本的 DataNode。NameNode 在一個(gè)稱為 FsImage 的文件中存儲(chǔ)所有關(guān)于文件系統(tǒng)名稱空間的信息。這個(gè)文件和一個(gè)包含所有事務(wù)的記錄文件(這里是 EditLog)將存儲(chǔ)在 NameNode 的本地文件系統(tǒng)上。FsImage 和 EditLog 文件也需要復(fù)制副本,以防文件損壞或 NameNode 系統(tǒng)丟失。n N

6、ameNode 也是一個(gè)通常在 HDFS 實(shí)例中的單獨(dú)機(jī)器上運(yùn)行的軟件。Hadoop 集群包含一個(gè) NameNode 和大量 DataNode。DataNode 通常以機(jī)架的形式組織,機(jī)架通過(guò)一個(gè)交換機(jī)將所有系統(tǒng)連接起來(lái)。Hadoop 的一個(gè)假設(shè)是:機(jī)架內(nèi)部節(jié)點(diǎn)之間的傳輸速度快于機(jī)架間節(jié)點(diǎn)的傳輸速度。DataNode 響應(yīng)來(lái)自 HDFS 客戶機(jī)的讀寫(xiě)請(qǐng)求。它們還響應(yīng)創(chuàng)建、刪除和復(fù)制來(lái)自 NameNode 的塊的命令。NameNode 依賴來(lái)自每個(gè) DataNode 的定期心跳(heartbeat)消息。每條消息都包含一個(gè)塊報(bào)告,NameNode 可以根據(jù)這個(gè)報(bào)告驗(yàn)證塊映射和其他文件系統(tǒng)元數(shù)據(jù)。

7、如果 DataNode 不能發(fā)送心跳消息,NameNode 將采取修復(fù)措施,重新復(fù)制在該節(jié)點(diǎn)上丟失的塊。n 文件操作:可見(jiàn),HDFS 并不是一個(gè)萬(wàn)能的文件系統(tǒng)。它的主要目的是支持以流的形式訪問(wèn)寫(xiě)入的大型文件。如果客戶機(jī)想將文件寫(xiě)到 HDFS 上,首先需要將該文件緩存到本地的臨時(shí)存儲(chǔ)。如果緩存的數(shù)據(jù)大于所需的 HDFS 塊大小,創(chuàng)建文件的請(qǐng)求將發(fā)送給 NameNode。NameNode 將以 DataNode 標(biāo)識(shí)和目標(biāo)塊響應(yīng)客戶機(jī)。同時(shí)也通知將要保存文件塊副本的 DataNode。當(dāng)客戶機(jī)開(kāi)始將臨時(shí)文件發(fā)送給第一個(gè) DataNode 時(shí),將立即通過(guò)管道方式將塊內(nèi)容轉(zhuǎn)發(fā)給副本 DataNode。

8、客戶機(jī)也負(fù)責(zé)創(chuàng)建保存在相同 HDFS 名稱空間中的校驗(yàn)和(checksum)文件。在最后的文件塊發(fā)送之后,NameNode 將文件創(chuàng)建提交到它的持久化元數(shù)據(jù)存儲(chǔ)(在 EditLog 和 FsImage 文件)?!緦?shí)驗(yàn)步驟】l 安裝JDK(1)下載安裝JDK:確保計(jì)算機(jī)聯(lián)網(wǎng)之后命令行輸入下面命令安裝JDK sudo apt-get install sun-java6-jdk(2)配置計(jì)算機(jī)Java環(huán)境:打開(kāi)/etc/profile,在文件最后輸入下面內(nèi)容 export JAVA_HOME = (Java安裝目錄) export CLASSPATH = ".:$JAVA_HOME/lib

9、:$CLASSPATH" export PATH = "$JAVA_HOME/:PATH"(3)驗(yàn)證Java是否安裝成功輸入 java -version ,輸出Java版本信息即為安裝成功。l 安裝配置SSH(1)下載安裝SSH:同樣在命令行輸入下面命令安裝SSH sudo apt-get install ssh(2)配置無(wú)密碼登錄本機(jī):在命令行輸入下面兩條命令 $ ssh-keygen -t rsa -P '' -f /.ssh/id_rsa 直接回車(chē),完成后會(huì)在/.ssh/生成兩個(gè)文件:id_rsa和id_rsa.pub;這兩個(gè)成對(duì)出現(xiàn),類(lèi)似鑰

10、匙和鎖。 再把id_rsa.pub追加到授權(quán)key里面(當(dāng)前并沒(méi)有authorized_keys文件) $ cat /.ssh/id_rsa.pub >> /.ssh/authorized_keys驗(yàn)證SSH是否安裝成功 輸入 ssh localhost 。如果顯示本機(jī)登錄成功就表明安裝成功。l 關(guān)閉防火墻 $sudo ufw disable 注意:這步非常重要,如果不關(guān)閉,會(huì)出現(xiàn)找不到datanode的問(wèn)題l 安裝運(yùn)行Hadoop(以0.20.2版本為例)(1)下載Hadoop:在/dyn/closer.cgi/hadoop/core/頁(yè)面

11、上下載Hadoop。(2)安裝配置Hadoop 單節(jié)點(diǎn)配置: 安裝單節(jié)點(diǎn)的Hadoop無(wú)需配置,在這種方式下,Hadoop被認(rèn)作為一個(gè)單獨(dú)的Java進(jìn)程。 偽分布配置: 偽分布的Hadoop是只有一個(gè)節(jié)點(diǎn)的集群。在這個(gè)集群中,計(jì)算機(jī)既是master也是slave, 即使 namenode也是datanode,既是jobtracker也是tasktracker。配置的過(guò)程如下:1、進(jìn)入conf文件夾修改下面的文件。Hadoop-env.sh中加入下面內(nèi)容:export JAVA_HOME = (JAVA安裝目錄)core-site.xml文件內(nèi)容修改為下面內(nèi)容:<configuration

12、> <!- global properties -> <property> <name>hadoop.tmp.dir</name> <value>/home/zhongping/tmp</value> </property> <!- file system properties -> <property> <name></name> <value>hdfs:/localhost:9000</value>

13、</property></configuration>hdfs-site.xml文件內(nèi)容修改為下面內(nèi)容:(replication默認(rèn)為3,如果不修改,datanode少于三臺(tái)就會(huì)報(bào)錯(cuò))<configuration> <property> <name>fs.replication</name> <value>1</value> </property></configuration>mapred-site.xml文件內(nèi)容修改為下面內(nèi)容:<configuration>

14、<property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property></configuration>2、格式化Hadoop文件系統(tǒng),在命令行輸入命令:bin/hadoop namenode -format3、啟動(dòng)Hadoop,在命令行輸入命令:bin/start-all.sh4、驗(yàn)證Hadoop是否安裝成功,在瀏覽器中輸入下面網(wǎng)址,如果正常打開(kāi)說(shuō)明安裝成功。http:/localhost:50030 (mapre

15、duce的web頁(yè)面)http:/localhost:50070 (hdfs的web頁(yè)面)l 運(yùn)行實(shí)例 (1)先在本地磁盤(pán)建立兩個(gè)輸入文件 file01和file02 $echo "Hello World Bye World" > file01 $echo "Hello Hadoop Goodbye Hadoop" > file02 (2)在hdfs中建立一個(gè)input目錄:$hadoop fs -mkdir input (3)將file01和file02拷貝到hdfs中: $hadoop fs -copyFromLocal /home/zhongping/file0* input (4)執(zhí)行wordcount: $hadoop jar hadoop-0.20.2-examples.jar wordcount input output (5)完成之后,查看結(jié)果 $hadoop fs -cat output/part-r-000

溫馨提示

  • 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)論