红联Linux门户
Linux帮助

Ubuntu搭建Hadoop源码阅读环境

发布时间:2014-06-16 10:06:42来源:红联作者:velcbo
Ant安装:

下载ant:http://ant.apache.org/bindownload.cgi

解压Ant:

tar -xvzf apache-ant-1.9.2-bin.tar.gz

移动重命名:

mv apache-ant-1.9.2/ ~/opt/
mv apache-ant-1.9.2/ ant

配置环境变量,添加ANT_HOME,和$ANT_HOME/bin:

sudo vim /etc/profile

.......................
export ANT_HOME=/opt/ant
export PATH=$PATH:$ANT_HOME/bin
.......................

source /etc/profile

测试是否生效:

ant -version
Apache Ant(TM) version 1.9.2 compiled on July 8 2013

Hadoop Eclipse 插件安装:

Hadoop的eclipse插件需要自行安装编译,也很简单,用ant进行编译打包

cd /opt/hadoop-1.2.1/src/contrib/eclipse-plugin

此处贴出build.xml全部和META-INFO改动的:[code]build.xml
















































encoding="${build.encoding}"
srcdir="${src.dir}"
includes="**/*.java"
destdir="${build.classes}"
debug="${javac.debug}"
deprecation="${javac.deprecation}"
includeantruntime="on">


















jarfile="${build.dir}/hadoop-${name}-${version}.jar"
manifest="${root}/META-INF/MANIFEST.MF">





[/code]META-INFO:

Bundle-ClassPath: classes/,lib/commons-cli.jar,lib/commons-httpclient.jar,lib/Hadoop-core.jar,lib/jackson-mapper-asl.jar,lib/commons-configuration.jar,lib/commons-lang.jar,lib/jackson-core-asl.jar

生成的jar包位于:/opt/hadoop-1.2.1/build/contrib/eclipse-plugin/hadoop-eclipse-plugin-1.2.1.jar,从ant的输出信息可以看到

复制插件,重启Eclipse

sudo mv hadoop-eclipse-plugin-1.2.1.jar /opt/eclipse/plugins/

设置Eclipse:

windows>show views>other>mapreduce location,新建一个

启动hadoop,查看project explorer,OK~~!插件安装成功。

导入hadoop源码,太简单,不解释。。。

用Eclips的插件建立新文件夹,上传文件到目录中

把example下的wordcount搞过来运行一下吧,报错:

13/11/08 18:20:39 ERROR security.UserGroupInformation: PriviledgedActionException as:dat cause:org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: file:/user/dat/input

很明显,权限问题

试了半天,很明显,我又误导你了,可能使权限问题,也可能不是,我这边这个就不是权限问题

Run Configuration参数需要配置完整uri路径

Arguments配置如下:

hdfs://localhost:9000/user/dat/input hdfs://localhost:9000/user/dat/output

输出路径hadoop帮你建立,不能已经存在

继续run on hadoop ,ok!!没有错了是不是?

调试Hadoop源代码:

启动Hadoop调试模式:

调试JobTracker为例:

[plain] view plaincopyprint?

export HADOOP_JOBTRACKER_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"

然后再启动start-all.sh,调试启动成功会看到如下信息,别的进程正常启动,JobTracker处于监听状态

进入Eclipse进行调试,设置参数

Run>Debug Configuration

debug开始,ok

可以尽情调试查看了!!有木有哈哈!!顺便吐槽一句:HP的Elite Book系列真心不适合程序员啊,那几个F1-F12连个空格都没有。。。以后还是选小黑吧。

这只是调试JobTracker的,还有别的,以后补上,debug模式和run模式来回切换很一大川参数很麻烦有木有,写个脚本。

作者:devtao
文章评论

共有 0 条评论