我编译的是hadoop0.21版本的,即旧的hadoop版本,新版本的hadoop源代码我还没有尝试编译。
1.下载hadoop源代码:
通过SVN下载源代码
地址:http://svn.apache.org/repos/asf/hadoop/common/trunk 在其中找到需要的版本下载
2. 需要的编译环境:
ant,cygwin必须安装好
3. 编译hadoop
1)在Elipse 的Package 视图中单击右键,选择import->General -> Existing Projects into Workspace
然后点next, 选择源代码下载的目录,然后点finish.
2)项目导入后其实还是会报很多错误,需要通过ant进行编译。此时,设置builter 为ant,
右击项目名,选择properties-> builder ->new ,选择 ant builder
browse file system 按钮 ,选择源代码目录下的build.xml文件,在name中随便写上名字;
在targets中设置manual build, 选择compile, compile-core, jar
以上完成后,回到builder的主对话框,将java builder下移,将前面的勾去掉。
此时右击项目名称,选择build project即开始编译项目(PS eclipse的project选项弹出菜单中
如果build automatically前有对勾,则右击项目后无build project选项)
3)此时编译完成,如果还有错误的话,说明缺少一些jar包,右击项目名 build path->configure build path
在此处将缺少的jar包添加(此处我也是费了好的的功夫,在同学的帮助下搞定的)
4)编译完后我还报了这个错误:Unbound classpath variable:'ANT_HOME/lib/ant.jar'in project
网上查了查,问题是没有将ant的路径添加到eclipse中
解决方法是:点 window->preferencers , 点左侧java->build path->classpath variable, 点new,name中
写ANT_HOME, path为eclipse路径下的plugins/org.apache.ant_1.7.0.v200706080842
4. 编译成功后
会在workspace中该项目文件中的build中生成hadoop-mapred-0.21.1-SNAPSHOT.jar文件
(ps:不知道这个文件是否就是可在linux下运行的hadoop平台的文件)
也是才开始学习hadoop,很多都不太清楚,这个编译过程大部分都是参考hadoop开发者入门期刊操作的,个别处
有自己的修改,随笔做个记录,免得以后忘了