Hadoop 源码编译导出

https://svn.apache.org/repos/asf/hadoop/common/branches/branch-trunk-win/BUILDING.txtjava

http://www.srccodes.com/p/article/38/build-install-configure-run-apache-hadoop-2.2.0-microsoft-windows-osapache

 $ mvn package -Pdist -DskipTests -Dtar windows

错误:

1.错误: 类重复: org.apache.hadoop.ipc.protobuf.TestProtos....

缘由是在导入eclipse是手动生成的文件和hadoop的maven自动配置出现冲突。eclipse

将手动添加的部分删除。maven

可在源码同级创建临时文件夹执行以下batide

mv ../hadoop-2.4.0-src/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/protobuf/TestProtos.java ./

mv ../hadoop-2.4.0-src/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/serializer/avro/AvroRecord.java ./

mv ../hadoop-2.4.0-src/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/protobuf/TestRpcServiceProtos.java ./
move out
mv TestProtos.java ../hadoop-2.4.0-src/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/protobuf/

mv AvroRecord.java ../hadoop-2.4.0-src/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/serializer/avro/

mv TestRpcServiceProtos.java ../hadoop-2.4.0-src/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/protobuf/
move back

 

2.内部专用 API, 可能会在将来发行版中删除

多是java版本问题。java8不行,换成了java6svn

 

3.cp: cannot stat .... File or path name too long

源码最好直接放到分区下的一级目录。目录名也能够重命名的短一点工具

 

4.common中的native编译可能出错

这个能够参考http://www.tuicool.com/articles/M3MRvea。oop

打开“开始”--“全部程序”--“Microsoft Windows SDK v7.1”--“Windows SDK 7.1 Command Prompt”,进入VC++的命令行工具(必定要今后处进入方可顺利编译Hadoop源代码,记着是以管理员身份运行)ui

可是仍是失败,这些貌似是与操做系统相关的c代码,目前不须要变动,暂时不用编译。

能够修改:\hadoop-common-project\hadoop-common\pom.xml

在project>profiles>profile>id=native-win的profile中将<properties>和<build>两个结点删除。

相关文章
相关标签/搜索