admin 管理员组

文章数量: 887021


2024年3月1日发(作者:最新matlab手机版下载)

源代码eclipse编译教程一见/hadoopor@1.下载Hadoop源代码Hadoop各成员源代码下载地址:/repos/asf/hadoop,请使用SVN下载,在SVN浏览器中将trunk目录下的源代码check-out出来即可:请注意只check-out出SVN上的trunk目录下的内容,如:/repos/asf/hadoop/common/trunk,而不是/repos/asf/hadoop/common,原因是/repos/asf/hadoop/common目录下包括了很多非源代码文件,并且很庞大,会导致需要很长的check-out时间。建议组织成如下图所示的目录结构,以保持本地的目录结构和SVN上的目录结构一致:

Hadoop源代码eclipse编译教程2.准备编译环境代码版本本教程所采用的Hadoop是北京时间2009-8-26日上午下载的源代码,和hadoop-0.19.x版本的差异可能较大。2.2.联网编译Hadoop会依赖很多第三方库,但编译工具Ant会自动从网上下载缺少的库,所以必须保证机器能够访问Internet。编译Hadoop要求使用1.6或更新的JDK,可以从:/javase/downloads/上下载JDK。安装好之后,请设置好JAVA_HOME环境变量,如下图所示:2

Hadoop源代码eclipse编译教程和Cygwin需要使用Ant工具来编译Hadoop,而Ant需要使用到Cygwin提供的一些工具,如sed等,可以从:/ivy/下载Ant,从/下载Cygwin(Cygwin的安装,请参考《在Windows上安装Hadoop教程》一文)。安装好之后,需要将Ant和Cygwin的bin目录加入到环境变量PATH中,如下图所示:3

Hadoop源代码eclipse编译教程在安装Cygwin时,建议将SVN安装上,因为在Ant编译过程中会通过SVN下载些文件,但这个不是必须的,下载不成功时,并未见出错,编译仍然可以成功。eEclipse则可以从/downloads/上下载,本教程使用的版本如下图所示:4

Hadoop源代码eclipse编译教程3.编译Hadoop在这里,我们以编译Hadoop家庭成员common为例,对Hadoop其它成员的编译方法是类似的。3.1.编译common成员步骤1)启动Eclipse,进入Eclipse主界面,如下图所示:步骤2)在Elipse的Package视图中单击右键,选择New->JavaProject,如下图所示:5

Hadoop源代码eclipse编译教程这个时候会打开如下图所示的对话框:6

Hadoop源代码eclipse编译教程步骤3)选择源代码目录和设置Project名。在下图所示的对话框中,点击Browse按钮,选择common源代码目录,并设置Projectname为common,然后点击Finish按钮。7

Hadoop源代码eclipse编译教程当工程导入完成后,上图所示的对话框会自动关闭,并重新进入Eclipse主界面,如下图所示,可以看到common已经导入进来,但可以看到common上有红叉叉,原因是因为Elipse默认使用了JavaBuilder,而不是AntBuilder,所以下一步就是设置使用AntBuilder。8

Hadoop源代码eclipse编译教程步骤4)设置Builder为Ant在上图所示对话框中,右单击common,弹出如下图所示的菜单:9

Hadoop源代码eclipse编译教程选择Properties子菜单,这个时候会弹出如下图所示的对话框:10

Hadoop源代码eclipse编译教程在上图所示的对话框中,点击Builders,会出现如下图所示界面:在上图所示的界面中,点击New按钮,弹出如下图所示的对话框:11

Hadoop源代码eclipse编译教程在上图所示的对话框中选中AntBuilder,然后点击OK按钮,这个时候会弹出如下图所示的新对话框:点击上图所示的对话框中的BrowseFileSystem按钮,选择common源代码目录下的文件,并设置Name为common_Builder(Name可以改成其它的,但建议使用12

Hadoop源代码eclipse编译教程common_Builder,因为这样名副其实),操作结果如下图所示:除上图所示的设置外,还需要设置如下图所示的Targets,建议设置成ManualBuild编译方式,而不是AutoBuild编译方式。原因是在AutoBuild模式下,任何修改都会触发编译,而ManualBuild模式下,只在需要的时候,点击编译按钮或菜单编译即可。13

Hadoop源代码eclipse编译教程点击上图所示对话框中的ManualBuild栏的SetTargets按钮,弹出如下图所示对话框:14

Hadoop源代码eclipse编译教程Hadoop各成员都需要编译成jar,所以做如下图所示的一个修改:15

Hadoop源代码eclipse编译教程点击上图所示对话框中的OK按钮,返回如下图所示的EditConfiguration对话框:16

Hadoop源代码eclipse编译教程点击上图所示对话框中的OK按钮,回到如下图所示的对话框:将上图对话框中的JavaBuilder下移,并它前面的勾去掉,结果如下图所示:17

Hadoop源代码eclipse编译教程点击上图所示对话框中的OK按钮,上图所示的对话框会自动关闭,这个时候会进入Eclipse主界面。由于之前选择了ManualBuild,所以需要人工方式驱动编译:请注意,如果上图所示的菜单中的BuildAutomatically被勾中,则在common的右键菜单中可能不会出现Build子菜单。编译成功后,可以看到如下图所显示的BUILDSUCCESSFUL字样:18

Hadoop源代码eclipse编译教程在编译通过中,Ant会自动从网上下载所依赖的库。从上图可以看到,编译只花了51秒,至此common的编译就成功结束了,可以在build目录下找到编译后生成的文件。3.2.编译Hadoop其它成员hdfs、mapreduce和hive的编译方式同common。19

Hadoop源代码eclipse编译教程4.1.联网确保可以上internet,Ant需要自动下载很多第三方依赖库,如果不能上internet,编译会复杂很多。4.2.编译hivehive的编译相对复杂些,而且默认它会编译多个版本的hive,建立修改shims目录下的文件,去掉不必要版本的编译,默认的文件内容如下图所示。4.3.编译生成文件位置common编译后生成s编译后生成reduce编译后生成e编译后生成buildservicehive_等请注意并没有直接放在build目录下hbase编译后生成有时候,在编译某个时,可能会出错,这个时候可以跳过,先编译其它的,然后再Refresh后,再编译,可能就会成功了,我第一把编译mapreduce就没有成功,后Refresh后再编译就OK了。20


本文标签: 编译 教程 所示 源代码 对话框