安裝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/ 目錄下