安裝依賴包
這些庫啊包啊基本都會在編譯過程中用到,缺少的話會影響編譯,看到error了再找solution非常麻煩,提前裝好一勞永逸。$ sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev因爲還要用到ssh,所以如果機器上沒有的話,裝個openssh的客戶端就好啦 (ubuntu 12.04應該預裝了)$ sudo apt-get install openssh-client當然想裝server的話就$ sudo apt-get install openssh-server編譯過程中還會用到protobuf 貌似需要最新的2.5.0,因此有低版本的也重新安裝一下
安裝配置 protobuf
下載最新的protobuf: https://code.google.com/p/protobuf/downloads/list
解壓,依次運行$ ./configure --prefix=/usr
$ sudo make
$ sudo make check
$ sudo make install檢查一下版本$ protoc --version
libprotoc 2.5.0
編譯 hadoop 2.2.0
下載 hadoop 2.2.0 http://www.apache.org/dyn/closer.cgi/hadoop/common/
解壓到用戶目錄 /home/hduser/. 進入 hadoop-2.2.0-src 目錄
因爲已經安裝了maven, protobuf, java環境也有了,compiler也有了所以直接運行
PS:需要打一個patch ,不然後續maven編譯會報錯
[plain] view plaincopyprint?https://code.csdn.net/snippets/108330https://code.csdn.net/snippets/108330/fork
- Index: hadoop-common-project/hadoop-auth/pom.xml
- ===================================================================
- --- hadoop-common-project/hadoop-auth/pom.xml (revision 1543124)
- +++ hadoop-common-project/hadoop-auth/pom.xml (working copy)
- @@ -54,6 +54,11 @@
- </dependency>
- <dependency>
- <groupId>org.mortbay.jetty</groupId>
- + <artifactId>jetty-util</artifactId>
- + <scope>test</scope>
- + </dependency>
- + <dependency>
- + <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
- <scope>test</scope>
- </dependency>
patch -p0 < HADOOP-10110.patch
$ mvn package -Pdist,native -DskipTests -Dtar
編譯成功如下信息:
INFO] Reactor Summary:
[INFO]
[INFO] Apache Hadoop Main ................................ SUCCESS [1:20.426s]
[INFO] Apache Hadoop Project POM ......................... SUCCESS [1:27.327s]
[INFO] Apache Hadoop Annotations ......................... SUCCESS [21.654s]
[INFO] Apache Hadoop Assemblies .......................... SUCCESS [0.285s]
[INFO] Apache Hadoop Project Dist POM .................... SUCCESS [39.829s]
[INFO] Apache Hadoop Maven Plugins ....................... SUCCESS [2.954s]
[INFO] Apache Hadoop Auth ................................ SUCCESS [3.318s]
[INFO] Apache Hadoop Auth Examples ....................... SUCCESS [13.679s]
[INFO] Apache Hadoop Common .............................. SUCCESS [2:19.642s]
[INFO] Apache Hadoop NFS ................................. SUCCESS [7.437s]
[INFO] Apache Hadoop Common Project ...................... SUCCESS [0.087s]
[INFO] Apache Hadoop HDFS ................................ SUCCESS [1:54.707s]
[INFO] Apache Hadoop HttpFS .............................. SUCCESS [20.326s]
[INFO] Apache Hadoop HDFS BookKeeper Journal ............. SUCCESS [26.850s]
[INFO] Apache Hadoop HDFS-NFS ............................ SUCCESS [3.585s]
[INFO] Apache Hadoop HDFS Project ........................ SUCCESS [0.046s]
[INFO] hadoop-yarn ....................................... SUCCESS [0.306s]
[INFO] hadoop-yarn-api ................................... SUCCESS [57.532s]
[INFO] hadoop-yarn-common ................................ SUCCESS [19.266s]
[INFO] hadoop-yarn-server ................................ SUCCESS [0.113s]
[INFO] hadoop-yarn-server-common ......................... SUCCESS [4.878s]
[INFO] hadoop-yarn-server-nodemanager .................... SUCCESS [12.777s]
[INFO] hadoop-yarn-server-web-proxy ...................... SUCCESS [1.471s]
[INFO] hadoop-yarn-server-resourcemanager ................ SUCCESS [6.440s]
[INFO] hadoop-yarn-server-tests .......................... SUCCESS [0.702s]
[INFO] hadoop-yarn-client ................................ SUCCESS [2.244s]
[INFO] hadoop-yarn-applications .......................... SUCCESS [0.082s]
[INFO] hadoop-yarn-applications-distributedshell ......... SUCCESS [1.342s]
[INFO] hadoop-mapreduce-client ........................... SUCCESS [0.093s]
[INFO] hadoop-mapreduce-client-core ...................... SUCCESS [13.367s]
[INFO] hadoop-yarn-applications-unmanaged-am-launcher .... SUCCESS [1.322s]
[INFO] hadoop-yarn-site .................................. SUCCESS [0.135s]
[INFO] hadoop-yarn-project ............................... SUCCESS [5.825s]
[INFO] hadoop-mapreduce-client-common .................... SUCCESS [15.695s]
[INFO] hadoop-mapreduce-client-shuffle ................... SUCCESS [1.565s]
[INFO] hadoop-mapreduce-client-app ....................... SUCCESS [5.672s]
[INFO] hadoop-mapreduce-client-hs ........................ SUCCESS [2.463s]
[INFO] hadoop-mapreduce-client-jobclient ................. SUCCESS [4.914s]
[INFO] hadoop-mapreduce-client-hs-plugins ................ SUCCESS [1.164s]
[INFO] Apache Hadoop MapReduce Examples .................. SUCCESS [2.733s]
[INFO] hadoop-mapreduce .................................. SUCCESS [3.664s]
[INFO] Apache Hadoop MapReduce Streaming ................. SUCCESS [2.414s]
[INFO] Apache Hadoop Distributed Copy .................... SUCCESS [27.731s]
[INFO] Apache Hadoop Archives ............................ SUCCESS [1.326s]
[INFO] Apache Hadoop Rumen ............................... SUCCESS [3.011s]
[INFO] Apache Hadoop Gridmix ............................. SUCCESS [2.292s]
[INFO] Apache Hadoop Data Join ........................... SUCCESS [1.296s]
[INFO] Apache Hadoop Extras .............................. SUCCESS [1.919s]
[INFO] Apache Hadoop Pipes ............................... SUCCESS [9.735s]
[INFO] Apache Hadoop Tools Dist .......................... SUCCESS [2.259s]
[INFO] Apache Hadoop Tools ............................... SUCCESS [0.038s]
[INFO] Apache Hadoop Distribution ........................ SUCCESS [31.041s]
[INFO] Apache Hadoop Client .............................. SUCCESS [8.620s]
[INFO] Apache Hadoop Mini-Cluster ........................ SUCCESS [0.213s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13:42.159s
[INFO] Finished at: Wed Jan 22 11:45:52 CST 2014
[INFO] Final Memory: 64M/409M
INFO] Reactor Summary:
在 hadoop-dist/target目錄下有如下文件:
root@mgq-Lenovo:/home/mgq/workspace_new/hadoop-2.2.0-src/hadoop-dist/target# ls
antrun dist-tar-stitching.sh hadoop-2.2.0.tar.gz hadoop-dist-2.2.0-javadoc.jar maven-archiver
dist-layout-stitching.sh hadoop-2.2.0 hadoop-dist-2.2.0.jar javadoc-bundle-options test-dir
安裝配置 hadoop 2.2.0
此時編譯好的文件位於 hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0/ 目錄中
源碼編譯成功!開始搞吧