hadoop-2.6.0源码编译问题汇总
在上一篇文章中,介绍了hadoop-2.6.0源码编译的一般流程,因个人计算机环境的不同,
编译过程中难免会出现一些错误,下面是我编译过程中遇到的错误。
列举出来并附上我解决此错误的方法,希望对大家有所帮助。
>>提君博客原创 http://www.cnblogs.com/tijun/ <<
问题1:
Detected JDK Version: 1.8.0_144 is not in the allowed range [1.7.0,1.7.1000}
原因:我当时的执行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.0-cdh5.12.0:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: 'protoc --version' did not return a version -> [Help 1]
原因:根据错误提示,可以看出编译过程中缺少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目录下,
如果网站访问不到,无法连接到上述网址
解决方案:手动下载tomcat放入对应的路径即可。
>>提君博客原创 http://www.cnblogs.com/tijun/ <<
问题汇总工作就到这里,如果以后发现其他问题,还会做出补充。
如果你遇到问题无法解决,可能把问题留在评论里,大家一起探讨。
>>提君博客原创 http://www.cnblogs.com/tijun/ <<