如何重新编译hadoop源代码
小编给大家分享一下如何重新编译hadoop源代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
创新互联主营卫滨网站建设的网络公司,主营网站建设方案,成都App制作,卫滨h5微信小程序定制开发搭建,卫滨网站营销推广欢迎卫滨等地区企业咨询
hadoop-1.0.3源代码下载地址:
http://svn.apache.org/repos/asf/hadoop/common/tags/release-1.0.3/
实验环境:
redhat版本
Red Hat Enterprise Linux Server release 6.5 (Santiago)
在redhat中重新编译hadoop源代码。
1、从svn中迁出hadoop-1.0.3源代码
[hadoop@master hadoop-p]$ svn co http://svn.apache.org/repos/asf/hadoop/common/tags/release-1.0.3/ |
2、在build.xml文件所在目录下编译hadoop
[hadoop@master release-1.0.3]$ ant
编译报错: 类型参数? extends T不在类型变量E的范围内
详细错误信息:
compile: [echo] contrib: gridmix [javac] Compiling 31 source files to /home/hadoop/hadoop-p/release-1.0.3/build/contrib/gridmix/classes [javac] /home/hadoop/hadoop-p/release-1.0.3/src/contrib/gridmix/src/java/org/apache/hadoop/mapred/gridmix/Gridmix.java:396: 错误: 类型参数? extends T不在类型变量E的范围内 [javac] private [javac] ^ [javac] 其中, T,E是类型变量: [javac] T扩展已在方法 [javac] E扩展已在类 Enum中声明的Enum [javac] /home/hadoop/hadoop-p/release-1.0.3/src/contrib/gridmix/src/java/org/apache/hadoop/mapred/gridmix/Gridmix.java:399: 错误: 类型参数? extends T不在类型变量E的范围内 [javac] for (Enum extends T> v : e) { [javac] ^ [javac] 其中, T,E是类型变量: [javac] T扩展已在方法 [javac] E扩展已在类 Enum中声明的Enum [javac] 注: 某些输入文件使用了未经检查或不安全的操作。 [javac] 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 [javac] 2 个错误
BUILD FAILED |
解决方案:
参考http://5282981.blog.51cto.com/5272981/965249解决的。
具体解决过程:
修改
/home/hadoop/hadoop-p/release-1.0.3/src/contrib/gridmix/src/java/org/apache/hadoop/mapred/gridmix/Gridmix.java文件的第396行“Enum extends T>”为“Enum extends T>”。
对第399行也做同样的修改。
重新编译hadoop源代码:
compile: [echo] contrib: vaidya [javac] Compiling 14 source files to /home/hadoop/hadoop-p/release-1.0.3/build/contrib/vaidya/classes [javac] 注: /home/hadoop/hadoop-p/release-1.0.3/src/contrib/vaidya/src/java/org/apache/hadoop/vaidya/statistics/job/JobStatistics.java使用了未经检查或不安全的操作。 [javac] 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
compile-ant-tasks: [javac] Compiling 5 source files to /home/hadoop/hadoop-p/release-1.0.3/build/ant [javac] 警告: [options] 未与 -source 1.6 一起设置引导类路径 [javac] 1 个警告
compile:
BUILD SUCCESSFUL Total time: 37 seconds |
3、编译成功
4、hadoop-core.jar
自编译生成的hadoop core jar包在release-1.0.3\build中。
以上是“如何重新编译hadoop源代码”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
分享文章:如何重新编译hadoop源代码
文章来源:http://ybzwz.com/article/gsgecs.html