1,必须得是java1.7 及以上
java version "1.7.0_55"
2,maven版本不能太低
Apache Maven 3.0.4
3,安装protobuf-2.5.0.tar.gz
tar -xvzf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure
make install
如果没有安装protobuf-2.5.0.tar.gz,编译过程中会报下面的错误:
[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:3.0.0-SNAPSHOT:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: 'protoc --version' did not return a version -> [Help 1]
4,下载hadoop
下载hadoop源 :https://github.com/apache/hadoop
unzip hadoop-trunk.zip
cd hadoop-trunk
5,编译hadoop
编译的时候,maven会下载大量的jar包,可以把下面的repository加到pom.xml文件中,这样会加快下载速度。
<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>
<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>
编译命令如下:
mvn package -Dmaven.test.skip=true