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 Path在Source中首先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文件放到相应的地方就可以了。
这个网页很好,可以在里边下载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.java和TestRpcServiceProtos.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了。