在上一篇文章中,介绍了hadoop-2.6.0源码编译的一般流程,因个人计算机环境的不同,
编译过程中难免会出现一些错误,下面是我编译过程中遇到的错误。
列举出来并附上我解决此错误的方法,希望对大家有所帮助。
>>提君博客原创 http://www.cnblogs.com/tijun/ <<
问题1:
Detected JDK Version: 1.8.0_ is not in the allowed range [1.7.,1.7.}
原因:我当时的执行mvn package 操作时,我安装的jdk版本是1.8.0_144,从问题描述就可以看出,应该使用jdk1.7.0-----jdk1.7.1000这个范围。
解决:更改ldk版本。这里很简单,就不在列举更换步骤。
问题2:
[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.6.-cdh5.12.0:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: 'protoc --version' did not return a version -> [Help ]
原因:根据错误提示,可以看出编译过程中缺少protoc
解决:百度protoc ,下载安装protobuf-2.5.0.tar.gz
问题3:
原因:执行这个动作失败。不能运行cmake
>>提君博客原创 http://www.cnblogs.com/tijun/ <<
解决:安装cmake
yum install cmake
问题4:
原因:这个错好奇怪,大概意思就是内部专用的API,以后可能会被在源码中移除,不安全,啥啥啥的,源码问题管我何事啊,还影响我编译。
解决:既然是maven编译,还是maven-compiler-plugin,在maven的settings.xml中添加配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgument>-XDignore.symbol.file</compilerArgument>
</configuration>
</plugin>
问题5:
原因:看错误提示,应该是内存溢出的错误。
解决:在系统环境变量/etc/profile里面添加。添加完后一定记得source一下
export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m"
最后一个不算问题的问题,算是个注意点吧:
图示,一直在get tomcat ,点点点的没完,这是说明在联网下载这个tar包,从网上**cloudera.com**这个网址,下载到源码里面一个downloads目录下,
如果网站访问不到,无法连接到上述网址