eclipse中导入hadoop2.7.0源码


1)        系统配置:

Win764位机上安装VMWARE10

Eclipse

ubuntu14.10

hadoop2.7.0

2)    前期准备

Ø  安装了maven,我安装的是maven3.0.5

Ø  安装了JDK,我安装的是JDK1.7.0_79

Ø  确保网络通畅

3)    通过maven获取源码

Ø  进入源码中的hadoop-2.7.0-src/hadoop-maven-plugins目录,运行mvn install

这一过程第一次运行时需要下载一些东西,所以时间有可能有点长,直到显示:BUILD SUCCESS为止,说明此次操作运行完毕。

Ø  跳出hadoop-maven-plugins目录,进入hadoop-2.7.0-src目录,运行mvn eclipse:eclipse -DskipTests指令,这一过程第一次运行时也需要下载一些东西,所以时间可能有点长,直到显示BUILD SUCCESS,说明此次操作运行完毕。

4)    关联源码

Ø  打开eclipse

Ø  按照file/import/Maven/Existing Maven Projects顺序进入Import Maven Projects页面,点击Browse,进入select Root Folder页面,在此页面中选择源码保存的目录,点击OK,经过漫长的等待,可以看到如下所示页面:


从此页面中可以看到很多的错误。

Ø  面对如此多的错误,首先要做的是:不要怕!只要是问题,就都可以被解决的。

Ø  将最左侧的项目全部选定,点右键,然后Maven/Disable Maven Nature。经过漫长的等待,会看到错误数目减少。

Ø  剩下的错误,首先要定位错误位置,将鼠标放到错误上,点击右键,Show In/Porject Explorer

Ø  对于hadoop-streaming错误,首先点击右键,BuildPath/Configure Build PathSource中首先move掉原有的/root/workspace/hadoop-2.7.0-src/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/conf,然后点击Link Source ,进入Source Folder页面,点击Browse,在源码根目录中找到hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/conf,点击OK/Finish/OK,可以看到又减少3个错误。

Ø  通过自己实际关联源码发现,很多的错误都是由于在编译过程中相关的.java文件丢失造成的,这样的话,我们可以通过下载相关的.java文件,然后根据错误信息中的Path,将下载的.java文件放到相应的地方就可以了。

下载这些.java文件的网址:http://grepcode.com/file/repo1.maven.org/maven2/org.apache.hadoop/hadoop-common/2.2.0/org/apache/hadoop/io/serializer/avro/AvroRecord.java#AvroRecord

这个网页很好,可以在里边下载hadoop的很多.java文件。进入此网页后,在输入栏输入需要下载的.java文件,然后点击serch,在选择需要的版本,然后点击Download就可以了。

Ø  在这里要注意,有些错误,path中的位置不对,例如有一个错误PATH中显示位置是hadoop-2.7.0-src/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc位置缺少TestProtos.javaTestRpcServiceProtos.java,而当我将这两个文件下载下来之后,拷贝到这个目录后发现错误数不但没有减少反而增加了,我束手无策,进入错误的源码中,发现import的信息是:

Import java/org/apache/hadoop/ipc/protobuf/TestProtos,两个对比,发现Path中少了一个Protobuf,想到网上有一种说法是:org.apache.hadoop.ipc.protobuf

包是空的,需要在/hadoop-common/target/generated-sources/java中找到profobuf拷贝到/hadoop-common/src/test/java中,于是我就按照这个做法,将porfobuf包拷贝到hadoop-2.7.0-src/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc目录中,然后再将我下载的两个.java文件拷贝到profobuf中,就OK了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值