安装maven编译环境
1.默认已经装好yum并配置好yum源(推荐使用163yum源)
2.安装JDK
3.安装相关依赖环境(root用户登陆)
yum install -y cmake lzo-devel zlib-devel gcc gcc-c++ autoconf automake libtool ncurses-devel openssl-devel libXtst
4.安装protobuf(root用户登陆)
tar xvf protobuf-2.5.0.tar.gz //必须是2.5.0
cd protobuf-2.5.0
./configure
make
make install
ldconfig
protoc --version //验证是否安装成功
5.安装ANT(root用户登陆)
tar zxvf apache-ant-1.9.4-bin.tar.gz //可以是最新版
修改环境变量
#ant
export ANT_HOME=/opt/ant-1.9.6
export PATH=$PATH:$ANT_HOME/bin
6.安装maven(root用户登陆)
tar zxvf apache-maven-3.3.1-bin.tar.gz //最好是3版本以上
修改环境变量
export MAVEN_HOME=/opt/maven-3.3.1
export MAVEN_OPTS="-Xms256m -Xmx512m"
export PATH=$PATH:$MAVEN_HOME/bin
修改配置文件 conf/settings.xml
更改maven资料库,在<mirrors></mirros>里添加如下内容:
<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexusosc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
在<profiles></profiles>内新添加
<profile>
<id>jdk-1.7</id>
<activation>
<jdk>1.7</jdk>
</activation>
<repositories>
<repository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
7.安装findbugs(root用户登陆)
tar zxvf findbugs-3.0.1.tar.gz
修改环境变量
#findbugs
export FINDBUGS_HOME=/opt/findbugs-3.0.1
export PATH=$PATH:$FINDBUGS_HOME/bin
8.添加jar CLASSPATH(root用户登陆)
export CLASSPATH=$CLASSPATH:$ANT_HOME/lib:$MAVEN_HOME/lib:$FINDBUGS_HOME/lib
9.编译hadoop-2.6.0(以非root用户登陆)
tar zxvf hadoop-2.6.0-src.tar.gz
cd hadoop-2.6.0-src
mvn package -Pdist,native,docs -DskipTests -Dtar -Dmaven.Javadoc.skip=true
//注意修改相关的hosts文件 有可能有些包被墙了。 有没被墙的验证方法就是能否访问谷歌
9.常见异常
1.Exit code: 1 - /home/lpf/devTool/hadoop-2.6.0-src/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/interfaceStability.java:27: 错误: 意外的结束标记: </ul>
解决办法: mvn package -Pdist,native,docs -DskipTests -Dtar -Dmaven.Javadoc.skip=true 以这条命令编译运行
2.[ERROR] mvn <goals> -rf :hadoop-common
解决办法: 将节点hadoop-annotations的值由provide 改成compile
vim ./hadoop-common-project/hadoop-auth/pom.xml
vim ./hadoop-common-project/hadoop-common/pom.xml
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-annotations</artifactId>
<scope>compile</scope>
</dependency>
3.apache-tomcat-6.0.41.tar.gz 下载太卡的问题
解决办法:可以手动下载这个包,然后放到 hadoop-2.6.0-src/hadoop-common-project/hadoop-kms/downloads/ 目录下