1、安装Maven
首先下载Maven软件包,下载地址为:http://apache.fayea.com/apache-mirror/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz
下载后解压,设置MAVEN_HOME和PATH变量。设置好后,可以使用mvn -version检查是否安装成功。
解压命令:
# | tar -zvxf apache-maven-3.1.1-bin.tar.gz |
移至/usr/local下:
#mvapache-maven-3.1.1 /usr/local/maven
maven装在/usr/local目录下。
#vi
/etc/profile
在最后一行加入:
export
MAVEN_HOME=/usr/
local/ maven
export PATH=$PATH:$MAVEN_HOME/bin
保存后退出,执行:
source /etc/profile
查看是否安装成功。
#mvn –version
2、安装autotool,CMake等依赖包
sudo yum install autoconf automake libtool ant gcc gcc-c++ make cmake openssl-devel,ncurses-devel
3、安装protobuf2.5
下载地址http://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
解压: tar jxvf protobuf-2.5.0.tar.gz
次执行:./configure, make, makeinstall,这三个命令安装ProtoBuffer
使用protoc --version检查ProtoBuffer是否安装成功
如果出现:
protoc: error while loading sharedlibraries: libprotobuf.so.7: cannot open shared object file: No such file ordirectory错误
这是因为系统找不到lib库
编辑/etc/ld.so.conf 文件
#Vim /etc/ld.so.conf
修改如下: include /etc/ld.so.conf.d/*.conf /usr/local/lib
然后ldconfig
再次执行protoc –version
libprotoc 2.4.1
标明protobuf安装成功。
4、先获取源码
先通过mvn获取源码
cd hadoop-2.3.0-cdh5.0.1/src/hadoop-maven-plugins
mvn install
完成后,
cd hadoop-2.3.0-cdh5.0.1/src
mvn eclipse:eclipse –DskipTests
获取源码过程中如果出现如下错误:
Failed to execute goalorg.apache.maven.plugins:maven-antrun-plugin:1.6:run (make) on projecthadoop-common:
解决方法如下:
使用这个命令:mvn org.apache.maven.plugins:maven-eclipse-plugin:2.6:eclipse –DskipTests
或者:通过yum安装 zlib1g-dev
5、编译源码
然后开始编译源码:
在src 目录下执行
mvn clean install –DskipTests
或者
mvn package -Pdist,native -DskipTests -Dtar
这个要等待很长时间,如果中间出现停掉,可以重新执行该命令,会继续上次下载编译。
由于maven国外服务器可能连不上,先给maven配置一下国内镜像,在maven目录下,conf/settings.xml,在<mirrors></mirros>里添加,原本的不要动
1. <mirror>
2. <id>nexus-osc</id>
3. <mirrorOf>*</mirrorOf>
4. <name>Nexusosc</name>
5. <url>http://maven.oschina.net/content/groups/public/</url>
6. </mirror>
同样,在<profiles></profiles>内新添加
1. <profile>
2. <id>jdk-1.7</id>
3. <activation>
4. <jdk>1.4</jdk>
5. </activation>
6. <repositories>
7. <repository>
8. <id>nexus</id>
9. <name>local private nexus</name>
10. <url>http://maven.oschina.net/content/groups/public/</url>
11. <releases>
12. <enabled>true</enabled>
13. </releases>
14. <snapshots>
15. <enabled>false</enabled>
16. </snapshots>
17. </repository>
18. </repositories>
19. <pluginRepositories>
20. <pluginRepository>
21. <id>nexus</id>
22. <name>local private nexus</name>
23. <url>http://maven.oschina.net/content/groups/public/</url>
24. <releases>
25. <enabled>true</enabled>
26. </releases>
27. <snapshots>
28. <enabled>false</enabled>
29. </snapshots>
30. </pluginRepository>
31. </pluginRepositories>
32. </profile>
编译过程会下载所需文件,并且持续很长时间。
编译成功后会生成一个tar包,如下图所示:
编译后的路径在
hadoop-2.3.0-cdh5.0.0/src/hadoop-dist/target
目录下。
内容如下:
进入编译后的hadoop-2.3.0-cdh5.0.0/bin目录。可以查看Hadoop版本
#./Hadoop version