




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Hadoop源代碼eclipse編譯教程源代碼eclipse編譯教程一見 2009-8-26 www.hadoopor.eom/hadoopor1. 下載Hadoop源代碼Hadoop 各成員源代碼下載地址:/repos/asf/hadoop,請使用 SVN下載,在SVN瀏覽器中將trunk目錄下的源代碼 check-out出來即可:請注意只check-out出SVN上的trunk目錄下的內(nèi)容,如:/repos/asf/hadoop/com mon/trunk,而不是 /re
2、pos/asf/hadoop/common,原因是 /repos/asf/hadoop/common目錄下包括了很多非源代碼文件,并且很龐大,會導(dǎo)致需要很長的check-out時間。建議組織成如下圖所示的目錄結(jié)構(gòu),以保持本地的目錄結(jié)構(gòu)和SVN上的目錄結(jié)構(gòu)一致:2. 準(zhǔn)備編譯環(huán)境2.1. Hadoop代碼版本本教程所采用的 Hadoop是北京時間2009-8-26日上午下載的源代碼,和hadoop-0.19.x版本的差異可能較大。2.2. 聯(lián)網(wǎng)編譯Hadoop會依賴很多第三方庫,但編譯工具Ant會自動從網(wǎng)上下載缺少的庫,所以必須保證機(jī)器能夠訪問In ter
3、net。2.3. java編譯Hadoop要求使用1.6或更新的JDK,可以從:上下 載 JDK。安 裝好之后,請設(shè)置好JAVA_HOME環(huán)境變量,如下圖所示:值夷量TEMPC: Bocuft0ikt5 and SeUincsVjian .廠 H A iHim ATI tdF-C 1 1 PTlCLASS.FATHC 姉 SpxPF_HO HOST C . jm_HDIIE miBEE_OFR . jJW:VAVA HDMmitbMMls jsrVAC : *INDairS5y£te*32crtidROB: Program FilesJaT»jdkl. 6. 0_.IFF1
4、蘭!塢輯©刪除©確定職消24 Ant 和 Cygwin需要使用Ant工具來編譯 Hadoop,而Ant需要使用到 Cygwin提供的一些工具,如sed 等,可以從: /ivy/download.cgi下載 Ant,從 下載Cygwin (Cygwin的安裝,請參考在Windows上安裝 Hadoop教程一文)。安裝好之后,需要將 Ant和Cygwin的bin目錄加入到環(huán)境變量PATH中,如下圖所示:在安裝Cygwin時,建議將SVN安裝上,因為在 Ant編譯過程中會通過 SVN下載些文 件,但這個不是必須的,下載不成功時,并未見出錯,
5、編譯仍然可以成功。2.5. EclipseEclipse則可以從/downloads/ 上下載,本教程使用的版本如下圖所示:5Hadoop源代碼eclipse編譯教程#Hadoop源代碼eclipse編譯教程Eclipse IDE for Java#Hadoop源代碼eclipse編譯教程Build H 200S0619-0625(c) Copyright Eclipse contributors and others 2000; 2009. All rights reserved,Vi si t http :/eclipse, erg/This pr
6、oduct mcludeE software developed by theApache Software Foundation http:/apacKe. org/#Hadoop源代碼eclipse編譯教程#Hadoop源代碼eclipse編譯教程Ixistallation Details#Hadoop源代碼eclipse編譯教程編譯 Hadoop6Hadoop源代碼eclipse編譯教程#Hadoop源代碼eclipse編譯教程在這里,我們以編譯Hadoop家庭成員common為例,對 Hadoop其它成員的編譯方法是類似的。3.1.編譯com mon成員#Hadoop源代碼eclips
7、e編譯教程#Hadoop源代碼eclipse編譯教程步驟1)啟動Eclipse,進(jìn)入Eclipse主界面,如下圖所示:步驟2)在Elipse的Package視圖中單擊右鍵,選擇New->Java Project,如下圖所示:7Hadoop源代碼eclipse編譯教程這個時候會打開如下圖所示的對話框:步驟3)選擇源代碼目錄和設(shè)置Project名。在下圖所示的對話框中,點(diǎn)擊Browse按鈕,選擇 common 源代碼目錄,并設(shè)置 Project n ame 為 com mon,然后點(diǎn)擊 Fi nish 按鈕。當(dāng)工程導(dǎo)入完成后,上圖所示的對話框會自動關(guān)閉,并重新進(jìn)入Eclipse主界面,如下圖
8、所示,可以看到 common已經(jīng)導(dǎo)入進(jìn)來,但可以看到common上有紅叉叉,原因是因為Elipse默認(rèn)使用了 Java Builder,而不是 Ant Builder,所以下一步就是設(shè)置使用Ant Builder。11Hadoop源代碼eclipse編譯教程common&日& ,2魁 -+ * + *r Java - EclipseFile Ed.i t Source Re fa 亡左 or" Wavi gate Search Project Run Window Helpi ,n.- Q-:謬曲 0旦處pfiedueFl-爲(wèi)hl±i中 src/ c oii
9、tr i b/£ai lm an/ sr i+ 曲 src/jav魚+ 葩 src/tezt/ core1+. & JUE System Library jrconfivylib irebui 1 d.盟| CMMGES txt ”1 ivy. xmlI iTrKNSF rv+Illicommon步驟4) 設(shè)置Builder為Ant在上圖所示對話框中,右單擊common,彈出如下圖所示的菜單:12Hadoop源代碼eclipse編譯教程13Hadoop源代碼eclipse編譯教程0P“mm+ + fl 十+hS Fajlcag* 茨"Wi a.NewGc Into卜
10、pen in New Ii ndovOpii Type Hi er archyF4Show InAit+shi fm7 CopyCtrl+CCopy Quail fled Name.FailsCtrl+VX DeleteDeistsRemove from Cont電弱tC trl+Al t+SKi f 計 DowdlBuild ?ath>Sourc電Alt+Shi ft+SRefactorAlt+Shi ft+T卜r?" Import.,.:Export. , P,.-r,RefreshFSClose ProjectAssign Work! n;g Sets.Run AskUe
11、tug AsValidateTeamCompare Wi thRestcre from Local Histar.-PropertiesAlt+EnterT.lJI cc ii li si biCl選擇Properties子菜單,這個時候會彈出如下圖所示的對話框:14Hadoop源代碼eclipse編譯教程15Hadoop源代碼eclipse編譯教程Proper!ies for comtan回岡#Hadoop源代碼eclipse編譯教程filter t>&xtBuiIder %Jaw Guilds Ffth|±J Jaw Codfi Stle l±i Jaw
12、Comp al er |± Java Edi IsrJavadoc Lacati onFroj eetEefctoirhikg Ki story Him/Debag SellingsIt Task EepssityTi±k Ta sViliWikiTtitlResource£4 th;/ cc*wi>nTyji :Proj «<z tLC4iti4n: E h4do&pc(wtffilLtriiiLlsLast moaified: EUO9年住月項日 下午04:07.】EIsi. filq<*j Inheri lidi
13、3;r«n eentiiner (GB10D3O)OgthMf :New t&xt file line delimi teri lnhritei fron dDntainer< ;Otber:#Hadoop源代碼eclipse編譯教程#Hadoop源代碼eclipse編譯教程Restore: DefwulIx.#Hadoop源代碼eclipse編譯教程#Hadoop源代碼eclipse編譯教程在上圖所示的對話框中,點(diǎn)擊Builders,會出現(xiàn)如下圖所示界面:#Hadoop源代碼eclipse編譯教程#Hadoop源代碼eclipse編譯教程在上圖所示的界面中,點(diǎn)擊New
14、按鈕,彈出如下圖所示的對話框:#Hadoop源代碼eclipse編譯教程在上圖所示的對話框中選中Ant Builder ,然后點(diǎn)擊OK按鈕,這個時候會彈出如下圖所示的新對話框:點(diǎn)擊上圖所示的對話框中的Browse File System按鈕,選擇common源代碼目錄下的build.xml文件,并設(shè)置 Name為common_Builder ( Name可以改成其它的,但建議使用common_Builder,因為這樣名副其實(shí)),操作結(jié)果如下圖所示:除上圖所示的設(shè)置外,還需要設(shè)置如下圖所示的Targets,建議設(shè)置成 Manual Build編譯方式,而不是 Auto Build編譯方式。原因是
15、在 Auto Build模式下,任何修改都會觸發(fā)編 譯,而Manual Build模式下,只在需要的時候,點(diǎn)擊編譯按鈕或菜單編譯即可。點(diǎn)擊上圖所示對話框中的Manual Build欄的Set Targets按鈕,彈出如下圖所示對話框:19Hadoop源代碼eclipse編譯教程20Hadoop源代碼eclipse編譯教程Set TaretsCheck targets to口七君:Descrip tiers二';ini t-* ' recardparsercompile-rcc-. r * 1 compilecore.,. (®)uoinpil電"iiativ
16、電r* 1 compilecorft. ®'compile-core | c omp i 1 e- c oiltr 11 compile df. jsr metri csB j ar generate"!電粵,. generat_avr. u fcCompile core onlyCompile core contrilMak Kadoopcore. jiarMake the Hadoop metri cs j ar.v1 out o£ 85 EelctdJ Sort targetsZU Hi de internal tarsgets not select
17、電d fcr executi onTarget execution order:compileritr.OKCancel#Hadoop源代碼eclipse編譯教程#Hadoop源代碼eclipse編譯教程Hadoop各成員都需要編譯成jar,所以做如下圖所示的一個修改:21Hadoop源代碼eclipse編譯教程22Hadoop源代碼eclipse編譯教程Check t ar gets to execute.Descripticn#Hadoop源代碼eclipse編譯教程#Hadoop源代碼eclipse編譯教程1 recordpwser(.Ji compile-rcc-ccmpiler* c
18、ompile_core_classescompile-nativc:Compile core c*nlyV* compil e_cor e_n.ati ve* compile'core(g訂 c omp 11 c ontr i bCompile core contribMake haioop"core. jar| | 'compile defaultL.佔(zhàn)#Hadoop源代碼eclipse編譯教程Make the Hadoop metri cs j ar. (for#Hadoop源代碼eclipse編譯教程#Hadoop源代碼eclipse編譯教程#Hadoop源代碼
19、eclipse編譯教程1 out of fi5 eelectedSort targetsI l?fide internal targets net selected for eKecutiTargeton order :Or der.jar#Hadoop源代碼eclipse編譯教程#Hadoop源代碼eclipse編譯教程Cancel點(diǎn)擊上圖所示對話框中的OK按鈕,返回如下圖所示的 Edit Configuration對話框:#Hadoop源代碼eclipse編譯教程點(diǎn)擊上圖所示對話框中的 0K按鈕,回到如下圖所示的對話框:將上圖對話框中的Java Builder下移,并它前面的勾去掉,結(jié)果如
20、下圖所示:點(diǎn)擊上圖所示對話框中的0K按鈕,上圖所示的對話框會自動關(guān)閉,這個時候會進(jìn)入Eclipse主界面。由于之前選擇了 Manual Build,所以需要人工方式驅(qū)動編譯:請注意,如果上圖所示的菜單中的Build Automatically 被勾中,則在 common的右鍵菜單中可能不會出現(xiàn) Build子菜單。編譯成功后,可以看到如下圖所顯示的BUILD SUCCESSFUL字樣:25Hadoop源代碼eclipse編譯教程¥ Java - Eclipse-nixFile Ed.i t Source Re fa 亡左 or" Wavi gate Search Projec
21、t Run Window Help'Ftcki«e ”: H1*rsrc芳-冠奪k出r k S -亙怙也luce3 4勺b垂叫展(Fr 口bl | Jarad ipEcla 4?弘1<:目 Ctmwo £3 c««hmon_Buildtr Anl Buildtr E: htdli>-aipcowiiQnIruxi x第丨竄£B畫畫凸貝k戸F coinpile:去 Imkdir Created dir ; E : hadoop cowinonX LC- .'Up -r*JL) ?丄 11-0E : +i+i+i+、三
22、c<m£& ivy 凸libjrsrc/ c ontr i b/ £ai lm on/ sr 浚 src/jiV4 競 src/te st/care 色 JMLjbrarysrcbui 1 d.盟CMMGES txt ivy. xmltvtioT"cotnpile :BUILD SUCCESSFULTocal t ime; 51 seconds£iAcommon.在編譯通過中,Ant會自動從網(wǎng)上下載所依賴的庫。從上圖可以看到,編譯只花了51秒,至此common的編譯就成功結(jié)束了,可以在build目錄下找到編譯后生成的文件hadoop-cor
23、e-0.21.0-dev.jar 。 build.二亙乂文件(F)編輯查看電)收藏® 工貝幫助血St©后退-Qt佬搜索L-.文件夾 函”地址匹)1 亡J E : hadoapc«nm oiA 七 runkVbui 1 d轉(zhuǎn)到空拌和文件夾任務(wù)重命名這個立件 移動這個立件 復(fù)制這個丈件 將這個文件發(fā)布到以電子郵件形式發(fā)送 此丈件i 5hadc cpp-ccre-Qu 21.0一 die童犬少類型文件來文件夾文件夾文件夾文件夾文件夾lj B49 KE ZxecutabliX刪除這個立件類型:Executable Jar File 修改日期:2009-8-26 16:4=
24、 1.60 MB£我的電腦26Hadoop源代碼eclipse編譯教程#Hadoop源代碼eclipse編譯教程32 編譯Hadoop其它成員hdfs、mapreduce 禾口 hive 的編譯方式同 com mon 。#Hadoop源代碼eclipse編譯教程27Hadoop源代碼eclipse編譯教程4. FAQ4.1. 聯(lián)網(wǎng)確保可以上in ternet,Ant需要自動下載很多第三方依賴庫,如果不能上in ternet,編譯會復(fù)雜很多。4.2. 編譯 hivehive的編譯相對復(fù)雜些,而且默認(rèn)它會編譯多個版本的hive,建立修改shims目錄下5 6 7 8 9 0 1 2 3
25、1111文件,去掉不必要版本的編譯,默認(rèn)的ivy.xml文件內(nèi)容如下圖所示。<ivy-module ver 3ion=<l 2 * D" ><infd organisation-" oxapache " rt)oduLe=" shuns" />cd 亡 pendenc ies><dependency org="hddoop" naine="core" rev=°0.17.21“<6trtif act name="IiadDon" type=" source" ext=" tar. az" / ></de pElide lie y><dEperLdency org= "hadoop" naine=" core" rev=" , 18 * 3" ><ajz 匸 if act name=" Jiadoop" tvpe = B source" ext=" tar, gz"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度澳大利亞大學(xué)本碩連讀合同
- 二零二五年度勞動合同解除協(xié)議
- 二零二五年度農(nóng)村合作社鄉(xiāng)村旅游開發(fā)合作協(xié)議
- 鏟車勞務(wù)承包合同鏟車合同書
- 社交網(wǎng)絡(luò)運(yùn)營合作合同
- 公司內(nèi)外部往來文書規(guī)范手冊
- 小熊維尼的友情世界讀后感
- 生物技術(shù)在農(nóng)村綜合利用項目協(xié)議
- 新能源汽車充電站投資協(xié)議
- 企業(yè)數(shù)字化轉(zhuǎn)型解決方案手冊
- 《神經(jīng)外科常見疾病》課件
- DL-T5707-2014電力工程電纜防火封堵施工工藝導(dǎo)則
- 職業(yè)素養(yǎng)提升第2版(大學(xué)生職業(yè)素養(yǎng)指導(dǎo)課程)全套教學(xué)課件
- 西師版小學(xué)數(shù)學(xué)六年級下冊單元測試卷(含答案)
- 2024年公安機(jī)關(guān)理論考試題庫500道【綜合卷】
- 2024年四川成都市公共交通集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 第2章導(dǎo)游(課件)《導(dǎo)游業(yè)務(wù)》(第五版)
- 2023年北京重點(diǎn)校初二(下)期中數(shù)學(xué)試卷匯編:一次函數(shù)
- 加推樓盤營銷方案
- 新人教版五年級小學(xué)數(shù)學(xué)全冊奧數(shù)(含答案)
- 2024年?;钒踩芾碇贫群蛵徫话踩僮饕?guī)程(9篇范文)
評論
0/150
提交評論