版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Ch.5.Hadoop系統(tǒng)安裝運行
與程序開發(fā)南京大學計算機科學與技術系主講人:黃宜華2011年春季學期MapReduce海量數(shù)據(jù)并行處理鳴謝:本課程得到Google公司(北京)中國大學合作部精品課程計劃資助Ch.5.
Hadoop系統(tǒng)安裝運行與程序開發(fā)1.單機Hadoop系統(tǒng)安裝基本步驟2.集群Hadoop系統(tǒng)安裝基本步驟3.Hadoop集群遠程作業(yè)提交與執(zhí)行4.HadoopMapReduce程序開發(fā)5.實驗1:安裝單機Hadoop系統(tǒng)Hadoop系統(tǒng)運行的軟件環(huán)境Linux操作系統(tǒng)如RHELS6.0(RedHatEnterpriseLinuxServer6.0)直接安裝LinuxWindow下安裝Linux虛擬機SSH(SecureShell)主要用于遠程管理Hadoop節(jié)點以及Hadoop節(jié)點間的安全共享訪問Java如Java1.6.0Hadoop系統(tǒng)的安裝方式單機方式在一臺運行Linux或Windows下虛擬Linux的單機上安裝運行Hadoop系統(tǒng)單機偽分布方式在一臺運行Linux或Window下虛擬Linux的單機上,用偽分布方式,用不同的java進程模擬分布運行中的NameNode、DataNode、JobTracker、TaskTracker等各類節(jié)點集群分布模式在一個真實的集群環(huán)境下安裝運行Hadoop系統(tǒng),集群的每個節(jié)點可以運行Linux或Window下的虛擬Linux。單機和偽分布模式下編寫調試完成的程序不需修改即可在真實的分布式Hadoop集群下運行基本安裝步驟安裝JDK下載安裝Hadoop配置SSH配置Hadoop的環(huán)境格式化HDFS文件系統(tǒng)啟動Hadoop環(huán)境運行程序測試查看集群狀態(tài)
1.單機Hadoop系統(tǒng)安裝基本步驟單機和單機偽分布方式安裝過程1.單機操作系統(tǒng)安裝在單機上安裝Linux或Window下虛擬Linux,假設安裝后機器名為Siler。2.安裝SSH
如果安裝RHELS6.0,確保軟件安裝時把SSH選上;如果安裝Linux時沒有安裝SSH,則需要另行安裝SSH3.安裝Java
下載和安裝Java,將java安裝在root/usr/java目錄下單機Hadoop系統(tǒng)基本安裝步驟單機和單機偽分布方式安裝過程4.創(chuàng)建用戶為Hadoop創(chuàng)建一個專門的用戶組如hadoop-user,然后在該用戶組下創(chuàng)建不同的用戶??稍诎惭b系統(tǒng)的時候創(chuàng)建,也可以在安裝好之后用如下命令創(chuàng)建:[root@Siler~]#groupaddhadoop-user[root@Siler~]#useradd-ghadoop_user-d/home/hadoophadoop“hadoop”是所創(chuàng)建的用戶名,-d指明“hadoop”用戶的home目錄是/home/hadoop)[root@Siler~]#passwdhadoop[給用戶hadoop設置口令]單機Hadoop系統(tǒng)基本安裝步驟單機和單機偽分布方式安裝過程5.解壓安裝Hadoop到Hadoop官網(wǎng)下載hadoop-0.21.0.tar.gz建立安裝目錄
[hadoop@Siler~]mkdir~/hadoop_installs把hadoop-0.21.0.tar.gz放在這里,然后解壓:
[hadoop@Silerhadoop_installs]$tar–zxvfhadoop-0.21.0.tar.gz單機Hadoop系統(tǒng)基本安裝步驟單機和單機偽分布方式安裝過程6.配置環(huán)境變量進入到“hadoop”用戶下
[root@Siler~]#su–hadoop
[注意中間的”-”不要丟]
[hadoop@Siler~]$編輯~/.bash_profile文件(用vi或gedit)
vi~/.bash_profile設置如下環(huán)境變量:
PATH=$PATH:$HOME/binexportJAVA_HOME=/usr/java/java-1.6.0exportHADOOP_HOME=/home/hadoop/hadoop_installs/hadoop-0.21.0exportPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/binexportCLASSPATH=$JAVA_HOME/lib:.單機Hadoop系統(tǒng)基本安裝步驟單機和單機偽分布方式安裝過程7.免密碼SSH訪問配置
在偽分布模式下(集群分布模式更需要這個設置過程),為了實現(xiàn)免密碼SSH登陸連接,需要進行相應的配置。方式是創(chuàng)建一個認證文件,然后用publickey實現(xiàn)免密碼的登錄連接。過程如下:執(zhí)行命令產(chǎn)生認證文件
[hadoop@Siler~]$ssh-keygen-trsa-P""一直敲回車,然后將在/home/hadoop/.ssh目錄下生成id_rsa認證文件將該文件復制到名為authorized_keys的文件
[hadoop@Siler~]cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys然后測試一下看看能不能登錄:[hadoop@Siler~]sshlocalhost單機Hadoop系統(tǒng)基本安裝步驟單機和單機偽分布方式安裝過程什么是SSH?SSH(SecureShell),是建立在應用層和傳輸層基礎上的安全協(xié)議。傳統(tǒng)的網(wǎng)絡服務程序,如FTP、POP和Telnet本質上都是不安全的;它們在網(wǎng)絡上用明文傳送數(shù)據(jù)、用戶帳號和用戶口令,很容易受到中間人(man-in-the-middle)攻擊方式的攻擊。而SSH是目前較為可靠的、專為遠程登錄會話和其他網(wǎng)絡服務提供安全性的協(xié)議。利用SSH協(xié)議可以有效防止遠程管理過程中的信息泄露問題。通過SSH可以對所有傳輸?shù)臄?shù)據(jù)進行加密,也能夠防止DNS欺騙和IP欺騙。SSH另一項優(yōu)點是其傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,所以可以加快傳輸?shù)乃俣?。SSH有很多功能,它既可以代替Telnet,又可以為FTP、POP、PPP提供一個安全的登陸會話“通道”。Hadoop使用SSH保證在遠程管理Hadoop節(jié)點和節(jié)點間用戶共享訪問時的安全性。單機Hadoop系統(tǒng)基本安裝步驟單機和單機偽分布方式安裝過程8.修改hadoop配置文件
Hadoop的配置文件存放在hadoop安裝目錄下的conf目錄中,主要有以下幾個配置文件要修改:conf/hadoop-env.sh:Hadoop環(huán)境變量設置conf/core-site.xml:主要完成NameNode的IP和端口設置conf/hdfs-site.xml:主要完成HDFS的數(shù)據(jù)塊副本等參數(shù)設置conf/mapred-site.xml:主要完成JobTrackerIP和端口設置conf/masters:完成master節(jié)點IP設置conf/slaves:完成Slaves節(jié)點IP設置單機Hadoop系統(tǒng)基本安裝步驟單機和單機偽分布方式安裝過程9.格式化NameNode執(zhí)行Hadoop的bin文件夾中的格式化命令:
[hadoop@Siler~]$hadoopnamenode-format
如果格式化成功,會返回一堆有關NameNode的啟動信息,其中會有一句“….hasbeensuccessfullyformatted.”單機Hadoop系統(tǒng)基本安裝步驟單機和單機偽分布方式安裝過程10.啟動HDFS和MapReduce執(zhí)行以下命令啟動HDFS和MapReduce[hadoop@Siler~]$start-all.sh用JPS命令檢查一下是否正常啟動:
[hadoop@Siler~]$jps顯示以下各進程信息則說明HDFS和MapReduce都已正常啟動:4706JobTracker4582SecondaryNameNode4278NameNode4413DataNode4853TaskTracker4889Jps11.停止HDFS和MapReduce執(zhí)行以下命令啟動HDFS和MapReduce[hadoop@Siler~]$stop-all.sh單機Hadoop系統(tǒng)基本安裝步驟單機和單機偽分布方式安裝過程12.運行測試在Linux文件系統(tǒng)下(如/root/test)創(chuàng)建兩個文本數(shù)據(jù)文件:
file1.txt:hellohadoophelloworld
file2.txt:
goodbyehadoop將文件復制到HDFS文件系統(tǒng)中:
[hadoop@Siler~]$dfs–copyFromLocal/root/testtest-intest-in是在HDFS中建立的一個數(shù)據(jù)數(shù)據(jù)目錄運行hadoop安裝包中自帶的WordCount程序進行測試:
[hadoop@Siler~]$hadoopjarhadoop-0.21.0-examples.jarwordcounttest-intest-out其中test-out只能由程序創(chuàng)建,不能事先存在單機Hadoop系統(tǒng)基本安裝步驟集群分布方式安裝過程1.操作系統(tǒng)安裝在每個節(jié)點上安裝Linux或Window下虛擬Linux,假設安裝后機器名為Master。2.安裝SSH
如果安裝RHELS6.0,確保軟件安裝時把SSH選上;如果安裝Linux時沒有安裝SSH,則需要另行安裝SSH3.安裝Java
下載和安裝Java,將java安裝在root/usr/java目錄下2.集群Hadoop系統(tǒng)基本安裝步驟集群分布方式安裝過程4.創(chuàng)建用戶為Hadoop創(chuàng)建一個專門的用戶組如hadoop-user,然后在該用戶組下創(chuàng)建不同的用戶??稍诎惭b系統(tǒng)的時候創(chuàng)建,也可以在安裝好之后用如下命令創(chuàng)建:[root@
Master
~]#groupaddhadoop-user[root@
Master
~]#useradd-ghadoop_user-d/home/hadoophadoop“hadoop”是所創(chuàng)建的用戶名,-d指明“hadoop”用戶的home目錄是/home/hadoop)[root@
Master
~]#passwdhadoop[給用戶hadoop設置口令]1).在真實集群分布模式下,要求每個節(jié)點使用相同的用戶名,比如,可以使用“hadoop”作為所有節(jié)點上統(tǒng)一的用戶名。2).并且要求在所有節(jié)點上安裝的hadoop系統(tǒng)具有完全一致的目錄結構。集群Hadoop系統(tǒng)基本安裝步驟集群分布方式安裝過程5.在主節(jié)點上解壓安裝Hadoop到Hadoop官網(wǎng)下載hadoop-0.21.0.tar.gz建立安裝目錄
[hadoop@
Master~]mkdir~/hadoop_installs把hadoop-0.21.0.tar.gz放在這里,然后解壓:
[hadoop@
Masterhadoop_installs]$tar–zxvfhadoop-0.21.0.tar.gz注:這個過程僅需在主節(jié)點上完成,然后安裝好的Hadoop系統(tǒng)將被復制到所有從節(jié)點集群Hadoop系統(tǒng)基本安裝步驟集群分布方式安裝過程6.配置環(huán)境變量(每個節(jié)點都必須做)進入到“hadoop”用戶下
[root@Siler~]#su–hadoop
[注意中間的”-”不要丟]
[hadoop@Siler~]$編輯~/.bash_profile文件(用vi或gedit)
vi~/.bash_profile設置如下環(huán)境變量:
PATH=$PATH:$HOME/binexportJAVA_HOME=/usr/java/java-1.6.0exportHADOOP_HOME=/home/hadoop/hadoop_installs/hadoop-0.21.0exportPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/binexportCLASSPATH=$JAVA_HOME/lib:.集群Hadoop系統(tǒng)基本安裝步驟集群分布方式安裝過程7.免密碼SSH訪問配置
在真實集群分布模式下更需要這個設置過程,為了實現(xiàn)節(jié)點間相互的免密碼SSH訪問,需要進行相應的配置。方式是創(chuàng)建一個認證文件,然后用publickey實現(xiàn)免密碼的登錄連接。過程如下:執(zhí)行命令產(chǎn)生認證文件
[hadoop@
Master
~]$ssh-keygen-trsa-P""敲回車,然后將在/home/hadoop/.ssh目錄下生成id_rsa認證文件將該文件復制為名為authorized_keys的文件
[hadoop@
Master~]$cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys將authorized_keys文件復制到所有節(jié)點上
[hadoop@Master~]$scpauthorized_keys[從節(jié)點主機名或IP]:/home/hadoop/.ssh集群Hadoop系統(tǒng)基本安裝步驟集群分布方式安裝過程8.在主節(jié)點上修改hadoop配置文件
Hadoop的配置文件存放在hadoop安裝目錄下的conf目錄中,主要有以下幾個配置文件要修改:conf/hadoop-env.sh:Hadoop環(huán)境變量設置conf/core-site.xml:主要完成NameNode的IP和端口設置conf/hdfs-site.xml:主要完成HDFS的數(shù)據(jù)塊副本等參數(shù)設置conf/mapred-site.xml:主要完成JobTrackerIP和端口設置conf/masters:完成master節(jié)點IP設置conf/slaves:完成Slaves節(jié)點IP設置注:這個過程僅需在主節(jié)點上進行,然后將隨著主機上安裝好的Hadoop目錄一起復制到所有從節(jié)點集群Hadoop系統(tǒng)基本安裝步驟集群分布方式安裝過程8.在主節(jié)點上修改hadoop配置文件 conf/masters:修改為主節(jié)點的主機名 conf/slaves:列出所有從節(jié)點的主機名
在NameNode和DataNode節(jié)點上進行主機名和IP解析配置
修改每臺機器的/etc/hosts設置:若為NameNode,則需要在hosts文件中添加集群中所有節(jié)點的IP地址機器對應的主機名若為DataNode,則只需要在文件中添加本機和NameNode的IP地址及對應的主機名集群Hadoop系統(tǒng)基本安裝步驟集群分布方式安裝過程9.復制Hadoop系統(tǒng)將在主節(jié)點安裝好的Hadoop系統(tǒng)目錄復制到每一個從節(jié)點上:
[hadoop@
Master
~]$scp-r/home/hadoop/hadoop-installs[從節(jié)點主機名或IP]:/home/hadoop/
這樣可以避免對每一個從節(jié)點重復進行Hadoop系統(tǒng)安裝。集群Hadoop系統(tǒng)基本安裝步驟集群分布方式安裝過程10.格式化NameNode執(zhí)行Hadoop的bin文件夾中的格式化命令:
[hadoop@
Master~]$hadoopnamenode-format
如果格式化成功,會返回一堆有關NameNode的啟動信息,其中會有一句“….hasbeensuccessfullyformatted.”集群Hadoop系統(tǒng)基本安裝步驟集群分布方式安裝過程11.啟動HDFS和MapReduce執(zhí)行以下命令啟動HDFS和MapReduce[hadoop@
Master
~]$start-all.sh用JPS命令檢查一下是否正常啟動:
[hadoop@
Master
~]$jps顯示以下各進程信息則說明HDFS和MapReduce都已正常啟動:4706JobTracker4582SecondaryNameNode4278NameNode4413DataNode4853TaskTracker4889Jps12.停止HDFS和MapReduce執(zhí)行以下命令啟動HDFS和MapReduce[hadoop@
Master
~]$stop-all.sh集群Hadoop系統(tǒng)基本安裝步驟集群分布方式安裝過程13.運行測試在Linux文件系統(tǒng)下(如/root/test)創(chuàng)建兩個文本數(shù)據(jù)文件:
file1.txt:hellohadoophelloworld
file2.txt:goodbyehadoop將文件復制到HDFS文件系統(tǒng)中:
[hadoop@
Master~]$dfs–copyFromLocal/root/testtest-intest-in是在HDFS中建立的一個數(shù)據(jù)數(shù)據(jù)目錄運行hadoop安裝包中自帶的WorldCount程序進行測試:
[hadoop@
Master~]$hadoopjarhadoop-0.21.0-examples.jarwordcounttest-intest-out其中test-out只能由程序創(chuàng)建,不能事先存在集群Hadoop系統(tǒng)基本安裝步驟程序開發(fā)與提交作業(yè)基本過程3.Hadoop集群遠程作業(yè)提交與執(zhí)行集群分布方式下遠程提交作業(yè)1.本地完成程序編寫和調試
在自己本地安裝了單機或偽分布Hadoop系統(tǒng)的機器上,完成程序編寫和調試2.創(chuàng)建用戶賬戶
為了能訪問Hadoop集群提交作業(yè),需要為每個程序用戶創(chuàng)建一個賬戶,獲取用戶名、密碼等信息。Hadoop集群遠程作業(yè)提交與執(zhí)行集群分布方式下遠程提交作業(yè)3.將數(shù)據(jù)和程序傳送到Hadoop集群準備好數(shù)據(jù)和程序目錄例如:
me@local:~/workspace$ls-Rwordcount
wordcount:wordcount.jarwordcount/files:file01.txtfile02.txt用scp命令傳送至Hadoop平臺主機上:
me@local:~/workspace$scp-rwordcountusername@Master:workspace/wordcountusername@
Master‘spassword:[在此輸入您的密碼]Hadoop集群遠程作業(yè)提交與執(zhí)行集群分布方式下遠程提交作業(yè)4.用SSH命令遠程登錄到Hadoop集群
me@local:~/workspace$sshusername@Masterusername@Master'spassword:[在此輸入您的密碼]5.將數(shù)據(jù)復制到HDFS中進入到程序包所在目錄:username@Master:~$cdworkspace/wordcountusername@Master:~/workspace/wordcount$lsfileswordcount.jar
用hadoopdfs–put命令將數(shù)據(jù)從Linux文件系統(tǒng)中復制到HDFS:
username@Master:~/workspace/wordcount$hadoopdfs-putfilestest-inHadoop集群遠程作業(yè)提交與執(zhí)行集群分布方式下遠程提交作業(yè)6.用hadoopjar命令向Hadoop提交計算作業(yè)
username@Master:~/workspace/wordcount$hadoopjarwordcount.jartest-intest-out這里的test-in為被統(tǒng)計的文本文件的目錄,test-out為指定的輸出結果的目錄,注意test-out目錄事先不能存在,若存在需要先刪除。Hadoop集群遠程作業(yè)提交與執(zhí)行集群分布方式下遠程提交作業(yè)7.查看運行結果查看test-out目錄,統(tǒng)計結果被輸出到文件test-out/part-r-00000中username@Master:~/workspace/wordcount$hadoopdfs-lstest-outFound2itemsdrwxr-xr-x-hadoopusrsupergroup02010-05-2320:29/user/hadoopusr/test-out/_logs-rw-r--r--1hadoopusrsupergroup352010-05-2320:30/user/hadoopusr/test-out/part-r-00000
查看計算結果username@Master:~/workspace/wordcount$hadoopdfs-cattest-out/part-r-00000GoodBye 1Hadoop 2Hello 2World 1
也可以把文件從HDFS中復制到Linux文件系統(tǒng)中查看username@Master:~/workspace/wordcount$hadoopdfs-gettest-out/part-r-00000test-out.txtusername@Master:~/workspace/wordcount$vitest-out.txtGoodBye 1Hadoop 2Hello 2World 1Hadoop集群遠程作業(yè)提交與執(zhí)行集群分布方式下遠程提交作業(yè)8.用Hadoop的Web界面查看Hadoop集群和作業(yè)狀態(tài)在瀏覽器中打開http://NameNode節(jié)點IP:50070/.可看到集群的基本信息Hadoop集群遠程作業(yè)提交與執(zhí)行集群分布方式下遠程提交作業(yè)8.用Hadoop的Web界面查看Hadoop集群和作業(yè)狀態(tài)打開頁面中的NamenodeLogs鏈接,可以查看到大量的日志文件,每個都可以打開查看其內容分布式Hadoop集群遠程作業(yè)提交與執(zhí)行集群分布方式下遠程提交作業(yè)8.用Hadoop的Web
界面查看Hadoop
集群和作業(yè)狀態(tài)點擊一個作業(yè)可以
查看作業(yè)的詳細信息分布式Hadoop集群遠程作業(yè)提交與執(zhí)行開發(fā)環(huán)境與工具
在程序員本地的單機Hadoop系統(tǒng)上進行程序設計與調試,然后上載到Hadoop集群上運行。Eclipse開發(fā)環(huán)境Eclipse是一個開源的軟件集成開發(fā)環(huán)境(IDE),可以提供對Java應用的編程開發(fā)所需要的完整工具平臺。Eclipse官方網(wǎng)站:/可以下載Linux版本的EclipseIDEforJava開發(fā)包,并安裝在本地的Linux系統(tǒng)中4.Hadoop
MapReduce程序開發(fā)啟動Eclipse
Hadoop
MapReduce程序開發(fā)創(chuàng)建JavaProjectHadoop
MapReduce程序開發(fā)創(chuàng)建JavaProjectHadoop
MapReduce程序開發(fā)配置JavaProject加入外部jar文件加入hadoop-0.21.0-core.jar以及l(fā)ib下所有的jar以及l(fā)ib子目錄下所有的jarHadoop
MapReduce程序開發(fā)配置JavaProject加入外部jar文件加入hadoop-0.21.0-core.jar以及l(fā)ib下所有的jar以及l(fā)ib子目錄下所有的jarHadoop
MapReduce程序開發(fā)編寫程序代碼編寫程序類代碼生成名為example的package生成example.WordCount.java類Hadoop
MapReduce程序開發(fā)WordCount編程示例基本數(shù)據(jù)計算流程Hadoop
MapReduce程序開發(fā)WordCount編程示例編程實現(xiàn)程序員主要的編碼工作如下:實現(xiàn)Map類
實現(xiàn)Reduce類
實現(xiàn)main函數(shù)(運行Job)Hadoop
MapReduce程序開發(fā)WordCount編程示例實現(xiàn)Map類這個類實現(xiàn)
Mapper接口中的
map方法,輸入?yún)?shù)中的
value是文本文件中的一行,利用
StringTokenizer將這個字符串拆成單詞,然后通過context.write收集<key,value>對。代碼中
LongWritable,IntWritable,Text均是
Hadoop中實現(xiàn)的用于封裝
Java數(shù)據(jù)類型的類,這些類都能夠被串行化從而便于在分布式環(huán)境中進行數(shù)據(jù)交換,可以將它們分別視為
long,int,String的替代。Hadoop
MapReduce程序開發(fā)WordCount編程示例Map類代碼publicstaticclassTokenizerMapper //定義Map類實現(xiàn)字符串分解
extendsMapper<Object,Text,Text,IntWritable>{privatefinalstaticIntWritableone=newIntWritable(1);privateTextword=newText();//實現(xiàn)map()函數(shù)
publicvoidmap(Objectkey,Textvalue,Contextcontext)
throwsIOException,InterruptedException{//將字符串拆解成單詞StringTokenizeritr=newStringTokenizer(value.toString()); while(itr.hasMoreTokens()){word.set(itr.nextToken()); //將分解后的一個單詞寫入word類
context.write(word,one); //收集<key,value>}}}Hadoop
MapReduce程序開發(fā)詳細WordCount程序代碼Map類代碼publicstaticclassTokenizerMapper //定義Map類實現(xiàn)字符串分解
extendsMapper<Object,Text,Text,IntWritable>{privatefinalstaticIntWritableone=newIntWritable(1);privateTextword=newText();//實現(xiàn)map()函數(shù)
publicvoidmap(Objectkey,Textvalue,Contextcontext)
throwsIOException,InterruptedException{//將字符串拆解成單詞StringTokenizeritr=newStringTokenizer(value.toString()); while(itr.hasMoreTokens()){word.set(itr.nextToken()); //將分解后的一個單詞寫入word類
context.write(word,one); //收集<key,value>}}}Hadoop
MapReduce程序開發(fā)詳細WordCount程序代碼實現(xiàn)Reduce類這個類實現(xiàn)
Reducer接口中的
reduce方法,輸入?yún)?shù)中的(key,values)是由
Map任務輸出的中間結果,values是一個
Iterator,遍歷這個
Iterator,就可以得到屬于同一個
key的所有
value.此處,key是一個單詞,value是詞頻。只需要將所有的
value相加,就可以得到這個單詞的總的出現(xiàn)次數(shù)。Hadoop
MapReduce程序開發(fā)詳細WordCount程序代碼Reduce類代碼//定義Reduce類規(guī)約同一key的valuepublicstaticclassIntSumReducerextendsReducer<Text,IntWritable,Text,IntWritable>{privateIntWritableresult=newIntWritable();//實現(xiàn)reduce()函數(shù)publicvoidreduce(Textkey,Iterable<IntWritable>values,Contextcontext)throwsIOException,InterruptedException{intsum=0;
//遍歷迭代器values,得到同一key的所有valuefor(IntWritableval:values){sum+=val.get();}result.set(sum);
//產(chǎn)生輸出對<key,value>context.write(key,result); }}Hadoop
MapReduce程序開發(fā)詳細WordCount程序代碼實現(xiàn)main函數(shù)(運行Job)在
Hadoop中一次計算任務稱之為一個
job,
main函數(shù)主要負責新建一個Job對象并為之設定相應的Mapper和Reducer類,以及輸入、輸出路徑等。Hadoop
MapReduce程序開發(fā)詳細WordCount程序代碼main函數(shù)代碼publicstaticvoidmain(String[]args)throwsException{//為任務設定配置文件
Configurationconf=newConfiguration(); //命令行參數(shù)
String[]otherArgs=newGenericOptionsParser(conf,args).getRemainingArgs(); if(otherArgs.length!=2){System.err.println("Usage:wordcount<in><out>");System.exit(2);} Jobjob=newJob(conf,“wordcount”); //新建一個用戶定義的Jobjob.setJarByClass(WordCount.class); //設置執(zhí)行任務的jar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西科技大學《建筑施工組織實訓》2023-2024學年第一學期期末試卷
- 防水卷材工程合同范例
- 陜西經(jīng)濟管理職業(yè)技術學院《數(shù)字視頻處理》2023-2024學年第一學期期末試卷
- 圓鋼銷售合同范例
- 融資傭金業(yè)務合同范例
- 陜西機電職業(yè)技術學院《后期合成與特效》2023-2024學年第一學期期末試卷
- 糕加工轉讓合同范例
- 漢堡店店鋪合同范例
- 小區(qū)更換窗戶合同范例
- 2024年標準化煤炭買賣合同版
- 2024年重慶市安全員C證考試(專職安全員)題庫及答案
- 2024年四川省成都市公開招聘警務輔助人員(輔警)筆試必刷測試卷(1)含答案
- 中建塔樓幕墻屋面環(huán)軌拆卸專項施工方案
- 《工業(yè)互聯(lián)網(wǎng)平臺規(guī)劃設計方案》
- 《失血性休克查房》課件
- 專題04二元一次方程組的應用解答120題(12種解題模型)專項訓練(解析版)
- 賀州房地產(chǎn)市場月報2024年08月
- 健康減肥課件英語
- 考點 23 溶解度及溶解度曲線(解析版)
- 湘教版九年級上冊數(shù)學期末考試試卷附答案
- 中學輿情處理登記表
評論
0/150
提交評論