在-Windows-平臺下部署-Hadoop-開發(fā)環(huán)境_第1頁
在-Windows-平臺下部署-Hadoop-開發(fā)環(huán)境_第2頁
在-Windows-平臺下部署-Hadoop-開發(fā)環(huán)境_第3頁
在-Windows-平臺下部署-Hadoop-開發(fā)環(huán)境_第4頁
在-Windows-平臺下部署-Hadoop-開發(fā)環(huán)境_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

在Windows平臺下部署Hadoop開發(fā)環(huán)境魏仁言2010.6.8Hadoop簡介Hadoop是一個開源的可運行于大規(guī)模集群上的分布式并行編程框架,由于分布式存儲對于分布式編程來說是必不可少的,這個框架中還包含了一個分布式文件系統(tǒng)HDFS(HadoopDistributedFileSystem)。也許到目前為止,Hadoop還不是那么廣為人知,其最新的版本號也僅僅是0.20,距離1.0似乎都還有很長的一段距離,但提及Hadoop一脈相承的另外兩個開源項目Nutch和Lucene(三者的創(chuàng)始人都是DougCutting),那絕對是大名鼎鼎。Lucene是一個用Java開發(fā)的開源高性能全文檢索工具包,它不是一個完整的應用程序,而是一套簡單易用的API。在全世界范圍內(nèi),已有無數(shù)的軟件系統(tǒng),Web網(wǎng)站基于Lucene實現(xiàn)了全文檢索功能,后來DougCutting又開創(chuàng)了第一個開源的Web搜索引擎()Nutch,它在Lucene的基礎(chǔ)上增加了網(wǎng)絡(luò)爬蟲和一些和Web相關(guān)的功能,一些解析各類文檔格式的插件等,此外,Nutch中還包含了一個分布式文件系統(tǒng)用于存儲數(shù)據(jù)。從Nutch0.8.0版本之后,DougCutting把Nutch中的分布式文件系統(tǒng)以及實現(xiàn)MapReduce算法的代碼獨立出來形成了一個新的開源項Hadoop。Nutch也演化為基于Lucene全文檢索以及Hadoop分布式計算平臺的一個開源搜索引擎?;贖adoop,你可以輕松地編寫可處理海量數(shù)據(jù)的分布式并行程序,并將其運行于由成百上千個結(jié)點組成的大規(guī)模計算機集群上。從目前的情況來看,Hadoop注定會有一個輝煌的未來:"云計算"是目前灸手可熱的技術(shù)名詞,全球各大IT公司都在投資和推廣這種新一代的計算模式,而Hadoop又被其中幾家主要的公司用作其"云計算"環(huán)境中的重要基礎(chǔ)軟件,如:雅虎正在借助Hadoop開源平臺的力量對抗Google,除了資助Hadoop開發(fā)團隊外,還在開發(fā)基于Hadoop的開源項目Pig,這是一個專注于海量數(shù)據(jù)集分析的分布式計算程序。Amazon公司基于Hadoop推出了AmazonS3(AmazonSimpleStorageService),提供可靠,快速,可擴展的網(wǎng)絡(luò)存儲服務,以及一個商用的云計算平臺AmazonEC2(AmazonElasticComputeCloud)。在IBM公司的云計算項目--"藍云計劃"中,Hadoop也是其中重要的基礎(chǔ)軟件。Google正在跟IBM合作,共同推廣基于Hadoop的云計算。

準備:1.

Java1.6以上2.

EclipseEuropa3.3.23.

Cygwin4.

Hadoop-0.20.2

1.

安裝Cygwin

Hadoop主要是在Linux平臺下運行的,如果想在Windows平臺下運行,你需要安裝Cygwin才能運行,Hadoop腳本。a.

下載Cygwin安裝包(here.)b.

運行安裝包,你將要看到下圖。

c.

安裝時一定要確認選擇“openssh”安裝包。如下圖:

d.

完成安裝

2.

安裝SSH守護進程Hadoop分布式運行需要SSH。所以這一部分介紹在Cygwin下配置SSH守護進程。a.

打開Cygwin命令環(huán)境b.

執(zhí)行以下命令

rywei@RYWEI$chmod+r/etc/group

rywei@RYWEI$chmod+r/etc/passwd

rywei@RYWEI$chmod+rwx/var

rywei@RYWEI$ssh-host-configc.

·

Whenaskedifprivilegeseparationshouldbeused,answerno.記著一定要答no,否則用Hadoop-EcliplePlugin插件進行開發(fā)時,會提示你沒有權(quán)限操作文件,不能寫等錯誤。(我因為這個問題頭痛了好長時間,最后才找到是這里出現(xiàn)問題的。)·

Whenaskedifsshdshouldbeinstalledasaservice,answeryes.·

WhenaskedaboutthevalueofCYGWINenvironmentvariableenterntsec.d.

配置完后,啟動SSHD守護進程運行:netstartsshd或者通過Windows服務,啟動CYGWINSSHD服務.想要停止服務運行:netstopsshd就可以了e.

生成密鑰

$ssh-keygen-tdsa-P''-f~/.ssh/id_dsa

$cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys

f.

測試最后運行以下命令測試

sshlocalhost如果沒有問題會提示以下內(nèi)容:Theauthenticityofhost'localhost()'can'tbeestablished.RSAkeyfingerprintis08:03:20:43:48:39:29:66:6e:c5:61:ba:77:b2:2f:55.Areyousureyouwanttocontinueconnecting(yes/no)?yesWarning:Permanentlyadded'localhost'(RSA)tothelistofknownhosts.rywei@localhost'spassword:會提示輸入你機子的登錄密碼,輸入無誤后,會出現(xiàn)文本圖形,類似于歡迎的提示:TheHipposays:Welcometo如果你不想每次都要輸入密碼,可以執(zhí)行以下命令即可$ssh-keygen-tdsa-P''-f~/.ssh/id_dsa

$cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys

3.

Hadoop安裝配置a.從Hadoop網(wǎng)站下載最新的安裝包(當前版本:hadoop-0.20.2)(here)

b.解壓hadoop-0.20.2安裝包到你的主目錄(/home/username/)

修改conf/hadoop-env.sh文件,將exportJAVA_HOME的值修改為你機上的jdk安裝目錄,比如/cygdrive/d/tools/jdk1.6.0_03,/cygdrive是Cygwin安裝成功后系統(tǒng)的根目錄如果你的JDK安裝在“C:/ProgramFiles/Java/jdk1.6.0_20”,請用引號括住。如:exportJAVA_HOME='C:/ProgramFiles/Java/jdk1.6.0_20'c.在Hadoop主目錄內(nèi)創(chuàng)建logs目錄,用以存放Hadoop日志信息d.配置HadoopHadoop可以用以下三種支持的模式中的一種啟動Hadoop集群:單機模式偽分布式模式完全分布式模式單機模式的操作方法默認情況下,Hadoop被配置成以非分布式模式運行的一個獨立Java進程。這對調(diào)試非常有幫助。下面的實例將已解壓的conf目錄拷貝作為輸入,查找并顯示匹配給定正則表達式的條目。輸出寫入到指定的output目錄。

$mkdirinput

$cpconf/*.xmlinput

$bin/hadoopjarhadoop-*-examples.jargrepinputoutput'dfs[a-z.]+'

$catoutput/*偽分布式模式的操作方法Hadoop可以在單節(jié)點上以所謂的偽分布式模式運行,此時每一個Hadoop守護進程都作為一個獨立的Java進程運行。使用如下配置:

conf/core-site.xml:<configuration>

<property>

<name></name>

<value>hdfs://localhost:9000</value>

</property></configuration>

conf/hdfs-site.xml:<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property></configuration>

conf/mapred-site.xml:<configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property></configuration>在Cygwin下必須設(shè)置中間的暫存目錄,否則會出錯的在mapred-site.xml中:添加:<property>

<name>mapred.child.tmp</name>

<value>/home/hadoop-0.20.1/temp</value></property>注:我就是忘記設(shè)置這個參數(shù),代碼總是不能成功運行,產(chǎn)生如下錯誤:10/05/0409:15:50WARNmapred.JobClient:UseGenericOptionsParserforparsingthearguments.ApplicationsshouldimplementToolforthesame.10/05/0409:15:50INFOmapred.FileInputFormat:Totalinputpathstoprocess:410/05/0409:15:51INFOmapred.JobClient:Runningjob:job_201005040912_000210/05/0409:15:52INFOmapred.JobClient:

map0%reduce0%10/05/0409:15:58INFOmapred.JobClient:TaskId:attempt_201005040912_0002_m_000006_0,Status:FAILEDjava.io.FileNotFoundException:FileC:/tmp/hadoop-SYSTEM/mapred/local/taskTracker/jobcache/job_201005040912_0002/attempt_201005040912_0002_m_000006_0/work/tmpdoesnotexist.

atorg.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:420)

atorg.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:244)

atorg.apache.hadoop.mapred.TaskRunner.setupWorkDir(TaskRunner.java:520)

atorg.apache.hadoop.mapred.Child.main(Child.java:143)

10/05/0409:16:03INFOmapred.JobClient:TaskId:attempt_201005040912_0002_m_000006_1,Status:FAILEDjava.io.FileNotFoundException:FileC:/tmp/hadoop-SYSTEM/mapred/local/taskTracker/jobcache/job_201005040912_0002/attempt_201005040912_0002_m_000006_1/work/tmpdoesnotexist.

atorg.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:420)

atorg.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:244)

atorg.apache.hadoop.mapred.TaskRunner.setupWorkDir(TaskRunner.java:520)

atorg.apache.hadoop.mapred.Child.main(Child.java:143)4.執(zhí)行格式化一個新的分布式文件系統(tǒng):

$bin/hadoopnamenode-format啟動Hadoop守護進程:

$bin/start-all.shHadoop守護進程的日志寫入到${HADOOP_LOG_DIR}目錄(默認是${HADOOP_HOME}/logs).瀏覽NameNode和JobTracker的網(wǎng)絡(luò)接口,它們的地址默認為:NameNode-http://localhost:50070/JobTracker-http://localhost:50030/將輸入文件拷貝到分布式文件系統(tǒng):

$bin/hadoopfs-putconfinput運行發(fā)行版提供的示例程序:

$bin/hadoopjarhadoop-*-examples.jargrepinputoutput'dfs[a-z.]+'查看輸出文件:將輸出文件從分布式文件系統(tǒng)拷貝到本地文件系統(tǒng)查看:

$bin/hadoopfs-getoutputoutput

$catoutput/*或者在分布式文件系統(tǒng)上查看輸出文件:

$bin/hadoopfs-catoutput/*完成全部操作后,停止守護進程:

$bin/stop-all.sh5.安裝Hadoopplugin在Hadoop根目錄里,contrib/eclipse-plugin文件夾下有,Hadoop在Eclipse的插件hadoop-0.20.2-eclipse-plugin.jar。將其拷貝到Eclipse的plugins目錄下。啟動Eclipse后,你將看到如下界面:

設(shè)置Hadoop主目錄點擊Eclipse主菜單上Windows->Preferences,然后在左側(cè)選擇HadoopHomeDirectory,設(shè)定你的Hadoop主目錄,如圖一所示:

創(chuàng)立一個MapReduceProject點擊Eclipse主菜單上File->New->Project,在彈出的對話框中選擇MapReduceProject,輸入projectname如wordcount,然后點擊Finish即可。,如圖所示:

此后,你就可以象一個普通的Ecl

溫馨提示

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

評論

0/150

提交評論