您的位置:首页 > 运维架构 > Linux

linux下hadoop-1.0.4源码部署及编译

2013-10-22 23:05 363 查看
1、下载hadoop-1.0.4.tar.gz包,我解压到了/usr/local/hadoop-1.0.4

Hadoop官方也提供了SVN方式的源代码下载。部署这个也可以,地址为svn地址:http://svn.apache.org/repos/asf/hadoop/common/tags/
release-*.*.*/ 需要安装svn。

2、Eclipse中创建Project, File->new->Project->Java Project,选择项目的位置为Hadoop的根目录hadoop-1.0.4,单击Finish按钮,就完成了Eclipse项目的创建

注意:Project根会出现一个!,是hadoop中的ANT_HOME/lib/ant.jar没有配置,所以我们需要配置系统的ANT_HOME的变量,让Eclipse能够找到编译代码需要的Ant库,选中项目,然后打开Eclipse的Project—>Properties->Java Build Path, 在Libraries页编辑出错的项,ANT_HOME/lib/ant.jar, 创建变量ANT_HOME(在接下来第一个对话框里单击‘Variable’,在第二个对话框里单击"New"按钮),其值为Ant的安装目录。





3、配置ant后发现,如下两个红叉

A:src/core上仍然有红叉 是eclipse无法编译的原因,所以需要

[user@fakeDistnode hadoop-1.0.4]$ ant eclipse

..........

BUILD FAILED

/usr/local/hadoop-1.0.4/build.xml:2391: /usr/local/hadoop-1.0.4/.eclipse.templates does not exist.

办法copy svn中下载的eclipse.templates到hadoop-1.0.4

再次ant eclipse

............

BUILD SUCCESSFUL

Total time: 14 seconds

B 如下错误



办法:import com.sun.tools.javac.code.Attribute.Array;删除即可

4、修改将Java Build Path,删除src,添加src/core, src/hdfs, src/mapred, src/tools几个目录。

至此,源码部署完成如下



如果需要重新生成jar、check后,直接在eclipse中 对build.xml ant build编译就ok了或者直接在命令行中ant build

~/.bashrc文件如下:

# .bashrc

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

# User specific aliases and functions

export JAVA_HOME=/usr/java/jdk1.6.0_12

export classpath=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/rt.jar:$CLASSPATH

export PATH=$JAVA_HOME/bin:/opt/jad:$PATH

#export HADOOP_HOME=/usr/local/hadoop-1.0.4

#export HIVE_HOME=$HADOOP_HOME/hive-0.9.0

#export HIVE_CONF_DIR=$HIVE_HOME/conf

#export PATH=$HADOOP_HOME/bin:$HIVE_HOME/bin:$HIVE_CONF_DIR:$PATH

export ANT_HOME=/usr/local/apache-ant-1.8.4

export MAVEN_HOME=/usr/local/apache-maven-3.0.5

export PATH=$PATH:$ANT_HOME/bin:$MAVEN_HOME/bin

#export MAHOUT_HOME=/usr/local/trunk

#export MAHOUT_CONF_DIR=$HAHOUT_HOME/conf

#export PATH=$PATH:$$MAHOUT_HOME/bin
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: