hadoop2偽分布式搭建經(jīng)驗(yàn)分享_第1頁
hadoop2偽分布式搭建經(jīng)驗(yàn)分享_第2頁
hadoop2偽分布式搭建經(jīng)驗(yàn)分享_第3頁
hadoop2偽分布式搭建經(jīng)驗(yàn)分享_第4頁
hadoop2偽分布式搭建經(jīng)驗(yàn)分享_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、本教程適合于在 CentOS 6.x 系統(tǒng)中安裝原生 Hadoop 2,適用于Hadoop 2.7.1, Hadoop 2.6.0 等版本,主要參考了官方安裝教程,步驟詳細(xì),輔以適當(dāng)說明,相信按照步驟來,都能順利在 CentOS 中安裝并運(yùn)行 Hadoop。環(huán)境本教程使用CentOS 6.5 64位作為系統(tǒng)環(huán)境,安裝系統(tǒng)在另一個(gè)文件內(nèi)。本教程基于原生 Hadoop 2,在Hadoop 2.6.0 (stable)版本下驗(yàn)證通過,可適合任何 Hadoop 2.x.y 版本,例如 Hadoop 2.7.1, Hadoop 2.4.1等。Hadoop版本Hadoop 有兩個(gè)主要版本,Hadoop 1

2、.x.y 和 Hadoop 2.x.y 系列,比較老的教材上用的可能是 0.20 這樣的版本。Hadoop 2.x 版本在不斷更新,本教程均可適用。如果需安裝 0.20,1.2.1這樣的版本,本教程也可以作為參考,主要差別在于配置項(xiàng),配置請(qǐng)參考官網(wǎng)教程或其他教程。注意:由于版本有很多,低版本的限制比較多,還有32位和64的問題,如果裝的不一致,后續(xù)會(huì)有很多問題,找好最好的搭配很關(guān)鍵。裝好了 CentOS 系統(tǒng)之后,在安裝 Hadoop 前還需要做一些必備工作。創(chuàng)建hadoop用戶如果你安裝 CentOS 的時(shí)候不是用的 “hadoop” 用戶,那么需要增加一個(gè)名為 hadoop 的用戶。首先點(diǎn)

3、擊左上角的 “應(yīng)用程序” - “系統(tǒng)工具” - “終端”,首先在終端中輸入su,按回車,輸入 root 密碼以 root 用戶登錄,接著執(zhí)行命令創(chuàng)建新用戶 hadoop:su # 上述提到的以 root 用戶登錄useradd -m hadoop -s /bin/bash # 創(chuàng)建新用戶hadoopShell 命令如下圖所示,這條命令創(chuàng)建了可以登陸的 hadoop 用戶,并使用 /bin/bash 作為shell。CentOS創(chuàng)建hadoop用戶接著使用如下命令修改密碼,按提示輸入兩次密碼,可簡(jiǎn)單的設(shè)為 “hadoop”(密碼隨意指定,若提示“無效的密碼,過于簡(jiǎn)單”則再次輸入確認(rèn)就行):pas

4、swd hadoopShell 命令可為 hadoop 用戶增加管理員權(quán)限,方便部署,避免一些對(duì)新手來說比較棘手的權(quán)限問題,執(zhí)行:visudoShell 命令如下圖,找到root ALL=(ALL) ALL這行(應(yīng)該在第98行,可以先按一下鍵盤上的ESC鍵,然后輸入:98(按一下冒號(hào),接著輸入98,再按回車鍵),可以直接跳到第98行 ),然后在這行下面增加一行內(nèi)容:hadoop ALL=(ALL) ALL(當(dāng)中的間隔為tab),如下圖所示:為hadoop增加sudo權(quán)限添加好內(nèi)容后,先按一下鍵盤上的ESC鍵,然后輸入:wq(輸入冒號(hào)還有wq,這是vi/vim編輯器的保存方法),再按回車鍵保存退

5、出就可以了。最后注銷當(dāng)前用戶(點(diǎn)擊屏幕右上角的用戶名,選擇退出-注銷),在登陸界面使用剛創(chuàng)建的 hadoop 用戶進(jìn)行登陸。(如果已經(jīng)是 hadoop 用戶,且在終端中使用su登錄了 root 用戶,那么需要執(zhí)行exit退出 root 用戶狀態(tài))準(zhǔn)備工作使用 hadoop 用戶登錄后,還需要安裝幾個(gè)軟件才能安裝 Hadoop。CentOS 使用 yum 來安裝軟件,需要聯(lián)網(wǎng)環(huán)境,首先應(yīng)檢查一下是否連上了網(wǎng)絡(luò)。如下圖所示,桌面右上角的網(wǎng)絡(luò)圖標(biāo)若顯示紅叉,則表明還未聯(lián)網(wǎng),應(yīng)點(diǎn)擊選擇可用網(wǎng)絡(luò)。檢查是否聯(lián)網(wǎng)連接網(wǎng)絡(luò)后,需要安裝 SSH 和 Java。安裝SSH、配置SSH無密碼登陸集群、單節(jié)點(diǎn)模式都需

6、要用到 SSH 登陸(類似于遠(yuǎn)程登陸,你可以登錄某臺(tái) Linux 主機(jī),并且在上面運(yùn)行命令),一般情況下,CentOS 默認(rèn)已安裝了 SSH client、SSH server,打開終端執(zhí)行如下命令進(jìn)行檢驗(yàn):rpm -qa | grep sshShell 命令如果返回的結(jié)果如下圖所示,包含了 SSH client 跟 SSH server,則不需要再安裝。檢查是否安裝了SSH若需要安裝,則可以通過 yum 進(jìn)行安裝(安裝過程中會(huì)讓你輸入 y/N,輸入 y 即可):sudo yum install openssh-clientssudo yum install openssh-serverShe

7、ll 命令接著執(zhí)行如下命令測(cè)試一下 SSH 是否可用:ssh localhostShell 命令此時(shí)會(huì)有如下提示(SSH首次登陸提示),輸入 yes 。然后按提示輸入密碼 hadoop,這樣就登陸到本機(jī)了。測(cè)試SSH是否可用但這樣登陸是需要每次輸入密碼的,我們需要配置成SSH無密碼登陸比較方便。首先輸入exit退出剛才的 ssh,就回到了我們?cè)鹊慕K端窗口,然后利用 ssh-keygen 生成密鑰,并將密鑰加入到授權(quán)中:exit # 退出剛才的 ssh localhostcd /.ssh/ # 若沒有該目錄,請(qǐng)先執(zhí)行一次ssh localhostssh-keygen -t rsa # 會(huì)有提示

8、,都按回車就可以cat id_rsa.pub authorized_keys # 加入授權(quán)chmod 600 ./authorized_keys # 修改文件權(quán)限Shell 命令的含義在 Linux 系統(tǒng)中, 代表的是用戶的主文件夾,即 “/home/用戶名” 這個(gè)目錄,如你的用戶名為 hadoop,則 就代表 “/home/hadoop/”。 此外,命令中的 # 后面的文字是注釋。此時(shí)再用ssh localhost命令,無需輸入密碼就可以直接登陸了,如下圖所示。SSH無密碼登錄安裝Java環(huán)境同樣將jdk-8u66-windows-x64.rar解壓到/usr/local下,并將解壓后目錄改

9、名為jdk。接著需要配置一下 JAVA_HOME 環(huán)境變量,為方便,我們?cè)?/.bashrc 中進(jìn)行設(shè)置(擴(kuò)展閱讀:設(shè)置Linux環(huán)境變量的方法和區(qū)別):vim /.bashrcShell 命令在文件最后面添加如下單獨(dú)一行(指向 JDK 的安裝位置),并保存:export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdkShell如下圖所示:設(shè)置JAVA_HOME環(huán)境變量接著還需要讓該環(huán)境變量生效,執(zhí)行如下代碼:source /.bashrc # 使變量設(shè)置生效Shell 命令設(shè)置好后我們來檢驗(yàn)一下是否設(shè)置正確:echo $JAVA_HOME # 檢驗(yàn)變量值j

10、ava -version$JAVA_HOME/bin/java -version # 與直接執(zhí)行 java -version 一樣Shell 命令如果設(shè)置正確的話,$JAVA_HOME/bin/java -version會(huì)輸出 java 的版本信息,且和java -version的輸出結(jié)果一樣,如下圖所示:成功設(shè)置JAVA_HOME環(huán)境變量這樣,Hadoop 所需的 Java 運(yùn)行環(huán)境就安裝好了。安裝 Hadoop 2Hadoop 2 可以通過 2.6.0 版本,下載時(shí)請(qǐng)下載hadoop-2.x.y.tar.gz這個(gè)格式的文件,這是編譯好的,另一個(gè)包含 src 的則是 Hadoop 源代碼,需

11、要進(jìn)行編譯才可使用。下載時(shí)強(qiáng)烈建議也下載hadoop-2.x.y.tar.gz.mds這個(gè)文件,該文件包含了檢驗(yàn)值可用于檢查 hadoop-2.x.y.tar.gz 的完整性,否則若文件發(fā)生了損壞或下載不完整,Hadoop 將無法正常運(yùn)行。本文涉及的文件均通過瀏覽器下載,默認(rèn)保存在 “下載” 目錄中(若不是請(qǐng)自行更改 tar 命令的相應(yīng)目錄)。另外,如果你用的不是 2.6.0 版本,則將所有命令中出現(xiàn)的 2.6.0 更改為你所使用的版本。1. cat /下載/hadoop-2.6.0.tar.gz.mds | grep MD5 # 列出md5檢驗(yàn)值2. # head -n 6 /下載/hado

12、op-2.7.1.tar.gz.mds # 2.7.1版本格式變了,可以用這種方式輸出3. md5sum /下載/hadoop-2.6.0.tar.gz | tr a-z A-Z # 計(jì)算md5值,并轉(zhuǎn)化為大寫,方便比較Shell 命令若文件不完整則這兩個(gè)值一般差別很大,可以簡(jiǎn)單對(duì)比下前幾個(gè)字符跟后幾個(gè)字符是否相等即可,如下圖所示,如果兩個(gè)值不一樣,請(qǐng)務(wù)必重新下載。檢驗(yàn)文件完整性我們選擇將 Hadoop 安裝至 /usr/local/ 中:1. sudo tar -zxf /下載/hadoop-2.6.0.tar.gz -C /usr/local # 解壓到/usr/local中2. cd /

13、usr/local/3. sudo mv ./hadoop-2.6.0/ ./hadoop # 將文件夾名改為hadoop4. sudo chown -R hadoop:hadoop ./hadoop # 修改文件權(quán)限Shell 命令Hadoop 解壓后即可使用。輸入如下命令來檢查 Hadoop 是否可用,成功則會(huì)顯示 Hadoop 版本信息:1. cd /usr/local/hadoop2. ./bin/hadoop versionShell 命令相對(duì)路徑與絕對(duì)路徑的區(qū)別請(qǐng)務(wù)必注意命令中的相對(duì)路徑與絕對(duì)路徑,本文后續(xù)出現(xiàn)的./bin/.,./etc/.等包含 ./ 的路徑,均為相對(duì)路徑,以

14、/usr/local/hadoop 為當(dāng)前目錄。例如在 /usr/local/hadoop 目錄中執(zhí)行./bin/hadoop version等同于執(zhí)行/usr/local/hadoop/bin/hadoop version??梢詫⑾鄬?duì)路徑改成絕對(duì)路徑來執(zhí)行,但如果你是在主文件夾 中執(zhí)行./bin/hadoop version,執(zhí)行的會(huì)是/home/hadoop/bin/hadoop version,就不是我們所想要的了。Hadoop單機(jī)配置(非分布式)Hadoop 默認(rèn)模式為非分布式模式,無需進(jìn)行其他配置即可運(yùn)行。非分布式即單 Java 進(jìn)程,方便進(jìn)行調(diào)試?,F(xiàn)在我們可以執(zhí)行例子來感受下 Ha

15、doop 的運(yùn)行。Hadoop 附帶了豐富的例子(運(yùn)行./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar可以看到所有例子),包括 wordcount、terasort、join、grep 等。在此我們選擇運(yùn)行 grep 例子,我們將 input 文件夾中的所有文件作為輸入,篩選當(dāng)中符合正則表達(dá)式dfsa-z.+的單詞并統(tǒng)計(jì)出現(xiàn)的次數(shù),最后輸出結(jié)果到 output 文件夾中。1. cd /usr/local/hadoop2. mkdir ./input3. cp ./etc/hadoop/*.

16、xml ./input # 將配置文件作為輸入文件4. ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output dfsa-z.+5. cat ./output/* # 查看運(yùn)行結(jié)果Shell 命令若運(yùn)行出錯(cuò),如出現(xiàn)如下圖提示:運(yùn)行Hadoop實(shí)例時(shí)可能會(huì)報(bào)錯(cuò)若出現(xiàn)提示 “WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform using builtin

17、-java classes where applicable”,該 WARN 提示可以忽略,不會(huì)影響 Hadoop 正常運(yùn)行(可通過編譯 Hadoop 源碼解決,解決方法請(qǐng)自行搜索)。若出現(xiàn)提示 “INFO metrics.MetricsUtil: Unable to obtain hostName .UnknowHostException”,這需要執(zhí)行如下命令修改 hosts 文件,為你的主機(jī)名增加IP映射:1. sudo vim /etc/hostsShell 命令主機(jī)名在終端窗口標(biāo)題里可以看到,或執(zhí)行命令hostname查看,如下圖所示,在最后面增加一行 “ dblab

18、”:(你的IP地址+你的主機(jī)名)設(shè)置主機(jī)名的IP映射保存文件后,重新運(yùn)行 hadoop 實(shí)例,若執(zhí)行成功的話會(huì)輸出很多作業(yè)的相關(guān)信息,最后的輸出信息如下圖所示。作業(yè)的結(jié)果會(huì)輸出在指定的 output 文件夾中,通過命令cat ./output/*查看結(jié)果,符合正則的單詞 dfsadmin 出現(xiàn)了1次:Hadoop例子輸出結(jié)果注意,Hadoop 默認(rèn)不會(huì)覆蓋結(jié)果文件,因此再次運(yùn)行上面實(shí)例會(huì)提示出錯(cuò),需要先將./output刪除。1. rm -r ./outputShell 命令Hadoop偽分布式配置機(jī)名增加IP映射:sudo vim /etc/hostsShell 命令主機(jī)名在終端窗口標(biāo)題里可

19、以看到,或執(zhí)行命令hostname查看,如下圖所示,在最后面增加一行:你的IP地址+你的主機(jī)名設(shè)置主機(jī)名的IP映射Hadoop 可以在單節(jié)點(diǎn)上以偽分布式的方式運(yùn)行,Hadoop 進(jìn)程以分離的 Java 進(jìn)程來運(yùn)行,節(jié)點(diǎn)既作為 NameNode 也作為 DataNode,同時(shí),讀取的是 HDFS 中的文件。在設(shè)置 Hadoop 偽分布式配置前,我們還需要設(shè)置 HADOOP 環(huán)境變量,執(zhí)行如下命令在 /.bashrc 中設(shè)置:1. vim /.bashrcShell 命令在文件最后面增加如下內(nèi)容:# Hadoop Environment Variablesexport HADOOP_HOME=/u

20、sr/local/hadoopexport HADOOP_INSTALL=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport YARN_HOME=$HADOOP_HOMEexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bi

21、nShell保存后,不要忘記執(zhí)行如下命令使配置生效:source /.bashrcShell 命令這些變量在啟動(dòng) Hadoop 進(jìn)程時(shí)需要用到,不設(shè)置的話可能會(huì)報(bào)錯(cuò)(這些變量也可以通過修改 ./etc/hadoop/hadoop-env.sh 實(shí)現(xiàn))。Hadoop 的配置文件位于/usr/local/hadoop/etc/hadoop/中,偽分布式需要修改2個(gè)配置文件core-site.xml和hdfs-site.xml。Hadoop的配置文件是 xml 格式,每個(gè)配置以聲明 property 的 name 和 value 的方式來實(shí)現(xiàn)。修改配置文件core-site.xml(通過 gedit

22、 編輯會(huì)比較方便:vim ./etc/hadoop/core-site.xml),將當(dāng)中的XML修改為下面配置:1. 2. 3. hadoop.tmp.dir4. file:/usr/local/hadoop/tmp5. Abase for other temporary directories.6. 7. 8. fs.defaultFS9. hdfs:/localhost:900010. 11. XML同樣的,修改配置文件hdfs-site.xml:1. 2. 3. dfs.replication4. 15. 6. 7. .dir8. file:/usr/l

23、ocal/hadoop/tmp/dfs/name9. 10. 11. dfs.datanode.data.dir12. file:/usr/local/hadoop/tmp/dfs/data13. 14. XML修改配置文件:master(在同一目錄下)將內(nèi)部的localhost改成主機(jī)名。這一步很關(guān)鍵,找master的時(shí)候就直接找主機(jī)了。配置完成后,執(zhí)行 NameNode 的格式化:./bin/hdfs namenode -formatShell 命令成功的話,會(huì)看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若為 “Ex

24、itting with status 1” 則是出錯(cuò)。執(zhí)行NameNode格式化接著開啟NaneNode和DataNode守護(hù)進(jìn)程:./sbin/start-dfs.shShell 命令若出現(xiàn)如下 SSH 的提示 “Are you sure you want to continue connecting”,輸入 yes 即可。首次啟動(dòng)Hadoop時(shí)的SSH提示啟動(dòng)時(shí)可能會(huì)有 WARN 提示 “WARN util.NativeCodeLoader” 如前面提到的,這個(gè)提示不會(huì)影響正常使用。啟動(dòng)完成后,可以通過命令jps來判斷是否成功啟動(dòng),若成功啟動(dòng)則會(huì)列出如下進(jìn)程: “NameNode”、”Da

25、taNode”和SecondaryNameNode(如果 SecondaryNameNode 沒有啟動(dòng),請(qǐng)運(yùn)行 sbin/stop-dfs.sh 關(guān)閉進(jìn)程,然后再次嘗試啟動(dòng)嘗試)。如果沒有 NameNode 或 DataNode ,那就是配置不成功,請(qǐng)仔細(xì)檢查之前步驟,或通過查看啟動(dòng)日志排查原因。通過jps查看啟動(dòng)的Hadoop進(jìn)程通過查看啟動(dòng)日志分析啟動(dòng)失敗原因有時(shí) Hadoop 無法正確啟動(dòng),如 NameNode 進(jìn)程沒有順利啟動(dòng),這時(shí)可以查看啟動(dòng)日志來排查原因,注意幾點(diǎn): 啟動(dòng)時(shí)會(huì)提示形如 “dblab: starting namenode, logging to /usr/local/

26、hadoop/logs/hadoop-hadoop-namenode-dblab.out”,其中 dblab 對(duì)應(yīng)你的主機(jī)名,但啟動(dòng)的日志信息是記錄在 /usr/local/hadoop/logs/hadoop-hadoop-namenode-dblab.log 中,所以應(yīng)該查看這個(gè)后綴為.log的文件; 每一次的啟動(dòng)日志都是追加在日志文件之后,所以得拉到最后面看,看下記錄的時(shí)間就知道了。 一般出錯(cuò)的提示在最后面,也就是寫著 Fatal、Error 或者 Java Exception 的地方。 可以在網(wǎng)上搜索一下出錯(cuò)信息,看能否找到一些相關(guān)的解決方法。成功啟動(dòng)后,可以訪問 Web 界面http

27、:/localhost:50070查看 NameNode 和 Datanode 信息,還可以在線查看 HDFS 中的文件。Hadopp的Web界面運(yùn)行Hadoop偽分布式實(shí)例上面的單機(jī)模式,grep 例子讀取的是本地?cái)?shù)據(jù),偽分布式讀取的則是 HDFS 上的數(shù)據(jù)。要使用 HDFS,首先需要在 HDFS 中創(chuàng)建用戶目錄:./bin/hdfs dfs -mkdir -p /user/hadoopShell 命令接著將 ./etc/hadoop 中的 xml 文件作為輸入文件復(fù)制到分布式文件系統(tǒng)中,即將 /usr/local/hadoop/etc/hadoop 復(fù)制到分布式文件系統(tǒng)中的 /user/h

28、adoop/input 中。我們使用的是 hadoop 用戶,并且已創(chuàng)建相應(yīng)的用戶目錄 /user/hadoop ,因此在命令中就可以使用相對(duì)路徑如 input,其對(duì)應(yīng)的絕對(duì)路徑就是 /user/hadoop/input:./bin/hdfs dfs -mkdir input./bin/hdfs dfs -put ./etc/hadoop/*.xml inputShell 命令復(fù)制完成后,可以通過如下命令查看 HDFS 中的文件列表:./bin/hdfs dfs -ls inputShell 命令偽分布式運(yùn)行 MapReduce 作業(yè)的方式跟單機(jī)模式相同,區(qū)別在于偽分布式讀取的是HDFS中的文

29、件(可以將單機(jī)步驟中創(chuàng)建的本地 input 文件夾,輸出結(jié)果 output 文件夾都刪掉來驗(yàn)證這一點(diǎn))。./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output dfsa-z.+Shell 命令查看運(yùn)行結(jié)果的命令(查看的是位于 HDFS 中的輸出結(jié)果):./bin/hdfs dfs -cat output/*Shell 命令結(jié)果如下,注意到剛才我們已經(jīng)更改了配置文件,所以運(yùn)行結(jié)果不同。Hadoop偽分布式運(yùn)行g(shù)rep的結(jié)果我們也可以將運(yùn)行結(jié)果取回到本地:rm -r ./

30、output # 先刪除本地的 output 文件夾(如果存在)./bin/hdfs dfs -get output ./output # 將 HDFS 上的 output 文件夾拷貝到本機(jī)cat ./output/*Shell 命令Hadoop 運(yùn)行程序時(shí),輸出目錄不能存在,否則會(huì)提示錯(cuò)誤 “org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs:/localhost:9000/user/hadoop/output already exists” ,因此若要再次執(zhí)行,需要執(zhí)行如下命令刪除 outpu

31、t 文件夾:./bin/hdfs dfs -rm -r output # 刪除 output 文件夾Shell 命令運(yùn)行程序時(shí),輸出目錄不能存在運(yùn)行 Hadoop 程序時(shí),為了防止覆蓋結(jié)果,程序指定的輸出目錄(如 output)不能存在,否則會(huì)提示錯(cuò)誤,因此運(yùn)行前需要先刪除輸出目錄。在實(shí)際開發(fā)應(yīng)用程序時(shí),可考慮在程序中加上如下代碼,能在每次運(yùn)行時(shí)自動(dòng)刪除輸出目錄,避免繁瑣的命令行操作:1. Configuration conf = new Configuration();2. Job job = new Job(conf);3. 4. /* 刪除輸出目錄 */5. Path outputPat

32、h = new Path(args1);6. outputPath.getFileSystem(conf).delete(outputPath, true);Java若要關(guān)閉 Hadoop,則運(yùn)行./sbin/stop-dfs.shShell 命令注意下次啟動(dòng) hadoop 時(shí),無需進(jìn)行 NameNode 的初始化,只需要運(yùn)行./sbin/start-dfs.sh就可以!啟動(dòng)YARN(偽分布式不啟動(dòng) YARN 也可以,一般不會(huì)影響程序執(zhí)行)有的讀者可能會(huì)疑惑,怎么啟動(dòng) Hadoop 后,見不到書上所說的 JobTracker 和 TaskTracker,這是因?yàn)樾掳娴?Hadoop 使用了新的

33、 MapReduce 框架(MapReduce V2,也稱為 YARN,Yet Another Resource Negotiator)。YARN 是從 MapReduce 中分離出來的,負(fù)責(zé)資源管理與任務(wù)調(diào)度。YARN 運(yùn)行于 MapReduce 之上,提供了高可用性、高擴(kuò)展性,YARN 的更多介紹在此不展開,有興趣的可查閱相關(guān)資料。上述通過./sbin/start-dfs.sh啟動(dòng) Hadoop,僅僅是啟動(dòng)了 MapReduce 環(huán)境,我們可以啟動(dòng) YARN ,讓 YARN 來負(fù)責(zé)資源管理與任務(wù)調(diào)度。首先修改配置文件mapred-site.xml,這邊需要先進(jìn)行重命名:1. mv ./et

34、c/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xmlShell 命令然后再進(jìn)行編輯,同樣使用 gedit 編輯會(huì)比較方便些gedit ./etc/hadoop/mapred-site.xml:1. 2. 3. 4. yarn5. 6. XML接著修改配置文件yarn-site.xml:1. 2. 3. yarn.nodemanager.aux-services4. mapreduce_shuffle5. 6. XML然后就可以啟動(dòng) YARN 了(需要先執(zhí)行過./sbin/st

35、art-dfs.sh):1. ./sbin/start-yarn.sh $ 啟動(dòng)YARN2. ./sbin/mr-jobhistory-daemon.sh start historyserver # 開啟歷史服務(wù)器,才能在Web中查看任務(wù)運(yùn)行情況Shell 命令開啟后通過jps查看,可以看到多了 NodeManager 和 ResourceManager 兩個(gè)后臺(tái)進(jìn)程,如下圖所示。如果有個(gè)別沒有運(yùn)行起來,可以stop-all.sh,查看之前哪些存在問題,更改后重新start-all.sh。開啟YARN啟動(dòng) YARN 之后,運(yùn)行實(shí)例的方法還是一樣的,僅僅是資源管理方式、任務(wù)調(diào)度不同。觀察日志信息可以發(fā)現(xiàn),不啟用 YARN 時(shí),是 “mapred.LocalJobRunner” 在跑任務(wù),啟用 YARN 之后,是 “mapred.YARNRunner” 在跑任務(wù)。啟動(dòng) YARN 有個(gè)好處是可以通過 Web 界面查看任務(wù)的運(yùn)行情況:http:/localhost:8088/cluster,如下圖所示。開啟YARN后可以查看任務(wù)運(yùn)行信息但 YARN 主要是為集群提供更好的資源管

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論