天天看點

Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語

  我們已經能夠搭建一個高可用的hadoop平台了,也熟悉并掌握了一個項目在hadoop平台下的開發流程,基于hadoop的一些套件我們也

能夠使用,并且能利用這些套件進行一些任務的開發。在hadoop的應用級别上,我們接着往後面去研究學習,那就是hadoop的源碼了,作為

hadoop開發人員,我們得去學習和研究hadoop得實作原理,底層架構的設計,編碼的實作過程等等,下面就開始我們今天的hadoop源碼分析之

旅。

  在分析源碼之前,我們需要準備好分析源碼的環境,以及如何去分析(分析的方法)。

  本系列分析的源碼是基于hadoop-2.6.0-src,源碼下載下傳位址如下:

  jdk使用的是oracle的jdk1.7,下載下傳位址如下:

windows版下載下傳位址:

linux版下載下傳位址:

mac os x版下載下傳位址:

  目前主流的3種作業系統,windows,linux,mac os x;下面依次來說明不同環境下的配置。

windows

  直接安裝下的 jdk-7u75-windows-x64.exe 檔案,一路預設安裝即可,安裝完成後在 cmd 下輸入 java

-verison 若顯示對應的版本好,即表示安裝成功。若出現 “java 不是内部或外部指令”的錯誤提示,可在 windows

的環境變量下設定java_home,和path以及classpath等環境變量即可。如下圖所示:

Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語

  注:例外還需要maven環境,和linux殼,下載下傳ide(下面mac os x環境中提供的ide,windows也可以使用),這裡不做贅述。

linux

  linux采用的是centos 6,由于linux自帶jdk,本文使用的oracle的jdk,故我們先解除安裝系統自帶的jdk,安裝我們下載下傳好的 jdk-7u75-linux-x64.tar.gz,具體步驟指令如下:

  在使用rpm -qa | grep java指令,查找jdk資訊,若沒有則表示解除安裝完成。接着是安裝下載下傳好的jdk,首先是解壓并建立目錄,指令如下所示:

  然後配置環境變量,内容如下:

  然後輸入指令讓環境變量立即生效,指令如下:

  接着,我們輸入:java -version 驗證即可。

  注:linux環境下同樣需要配置maven環境,ide可以使用下面mac os x的ide。

mac os x

  mac系統下面直接安裝下載下傳好的dmg檔案,安裝檔案路徑如圖所示:

Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語

  驗證截圖:

Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語

  安裝maven環境:

  下載下傳位址如下所示:

  安裝指令如下所示:

   配置:

Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語

  ide

  ide使用redhat公司推出的jboss studio(eclipse的更新版),下載下傳位址如下:

 hadoop2的源碼分析,整個流程都是基于mac os x系統下來完成的。linux系統基本配置可以參考mac os x配置,windows系統ide可以使用jboss studio(需要windows系統下安裝jdk)。

 首先我們來預覽一下hadoop-2.6.0-src的源碼目錄結構,如下圖所示:

Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語

  分析hadoop2源碼的方式有2種,一種方式是使用maven結構來分析閱讀hadoop的源碼,另一種方式使用一般的java project來分析閱讀。首先先贅述下一般的java project建立hadoop的源碼分析工程。如下圖所示:

java project

Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語
Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語
Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語
Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語

  在完成hadoop的源碼導入後,我們還需要添加一些依賴 jar 包,在直接在hadoop-2.6.0的share/hadoop目錄下将依賴包取出添加到ide環境變量。如下圖所示:

Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語

  另外,若需要的依賴 jar 不存在,可在hadoop共享的maven倉庫去下載下傳對應的依賴 jar,下載下傳位址:

maven結構

  若使用maven結構,可直接導入hadoop的源碼檔案,hadoop-2.6.0-src工程就算maven結構的。導入過程如下圖所示:

Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語
Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語
Hadoop2源碼分析-準備篇1.概述2.準備3.源碼準備4.總結5.結束語

  

  在點選 finish 按鈕後,會根據 pom.xml 檔案中的依賴下載下傳對應的 jar 到本地maven倉庫,首次導入需要下載下傳的依賴 jar 包較多,時間會有點長,請耐心等待下載下傳完成。

  整個hadoop2源碼的項目導入完成後,将近有100子項目,由于項目檔案較多,在分析閱讀的時候需要認真謹慎。在導入hadoop2源碼到

ide中的時候,項目結構我給出了2種方式:一般的java

project結構和maven結構,當然這個是可以根據自己實際情況來考慮,若是對maven結構不熟悉的同學,可以直接使用一般的java

project工程結構來分析hadoop2的源碼,這個是不影響學習源碼分析的;若是對maven結構敢興趣,也可自行使用maven結構來學習源碼分

析。

  這篇hadoop2源碼分析的準備篇就和大家分享到這裡,若是在大家在學習研究的過程中有什麼問題,可以加群進行讨論或發送郵件給我,我會盡我所能為您解答,與君共勉!