ITPub博客

首页 > 大数据 > Hadoop > 在ubuntu上用ecplise编译Hadoop(1)

在ubuntu上用ecplise编译Hadoop(1)

Hadoop 作者:zhouhua7304 时间:2012-03-14 17:14:37 0 删除 编辑

Hadoop学习笔记系列,逐渐完善中

Hadoop有多个版本,0.200.19相比改动比较大,很多使用方法是需要自己摸索的。更新版本的Hadoop采用的新的目录结构:common/hdfs/mapreduce等,可以分别倒入,用ant builder构建,详细的步骤可参见http://www.cnblogs.com/liuxiaojun/archive/2010/09/06/1819280.html。尤其要注意新建builder时候,改成手动编译。Targetsset targets要修改为jar:hadoop-core jar

实验中,在home/shim/目录下建立文件夹java,用来存放环境相关程序。实验的步骤记录:

1、 主机环境:ubuntu11.04X64位,内核版本2.6.38ubuntu环境下有些操作命令和其他版本的linux有差异,比如说Hadoop针对ubuntu的版本,安装目录下,只有源代码,没有eclipse-plugin.jar插件,下载地址http://hadoop-eclipse-plugin.googlecode.com/files/hadoop-0.20.3-dev-eclipse-plugin.jar。不过这个jar貌似需要自己编译?改天再研究。

2、 下载和安装JDK:

(1)     下载:

地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html。实验中下载的版本为jdk-6u31-linux-i586.bin。移至~/java/目录下。

(2)     安装:

终端:sudo sh jdk-6u23-linux-i586.bin

(3)     设置JDK环境变量

Ctrl+h快捷键,可见当前目录下的隐藏文件)

终端:sudo vim /etc/profile

umask 022之前添加以下语句:

export JAVA_HOME=/home/administrator/Java/jdk1.6.0_31 
export JRE_HOME=/home/administrator/Java/jdk1.6.0_
31/jre 
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$JAVA_HOME/bin 

如图:

 

终端:sudo vim /etc/environment

在文件尾加入如下语句:

export JAVA_HOME=/home/administrator/Java/jdk1.6.0_31
export JRE_HOME=/home/administrator/Java/jdk1.6.0_
31/jre 
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

如图:

 

(4)注销。配置文件生效,这一步不能省略。

(5)查看版本是否正确

终端:java –version

 

3、 下载和安装ant:

(1)自动安装 sudo apt-get install ant

安装,但是这种装法不好。首先安装的ant不是最新的版本,其次还要装一堆其他的附带的东西。一般还是需要手动安装,并设置相关的环境变量。

(2)手动安装。

下载:http://ant.apache.org/bindownload.cgi实验版本为apache-ant-1.8.3-bin.tar.gz,解压至~/java文件夹下。

(3) 配置环境变量

终端:sudo vim /etc/profile,加入如下蓝体字:

export ANT_HOME=/opt/apache-ant-1.8.3
     export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
     export PATH=$JAVA_HOME/bin:$PATH
:$ANT_HOME/bin
     export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

(4)     注销,或source /ect/profile

终端:ant –version

Apache Ant(TM) version 1.8.3 compiled on December 20 2010
   
如此字样,则表示安装成功!

 

4、  安装eclipse

官网下载:http://www.eclipse.org/downloads/。实验中版本为eclipse-SDK-3.7.2-linux-gtk.tar.gz32位的classic版本。有专门针对C/C++开发的版本,没有试用过。解压至~/java文件夹中,双击图标可运行软件,首次运行设置工作目录workspace.

ant继承至eclipse中:help-install newsoftware,从里面选择ant的存放目录。更新时间会比较长。

5、 这一步没有用,留着看看就成:安装tomcat:

官网下载:http://tomcat.apache.org/ 实验中版本为apache-tomcat-7.0.26.tar.gz,解压至~/java文件夹中。

终端:sudo vim catalina.sh

cygwin=false 
os400=false 
darwin=false 
case "`uname`" in 
CYGWIN*) cygwin=true;; 
OS400*) os400=true;; 
Darwin*) darwin=true;;

在这段文件之前加入:

JAVA_HOME=/home/administrator/Java/jdk1.6.0_31 

设置好环境变量,注销使生效。

tomcat7.0.5的端口(一般tomcat7.0.5的端口默认为8080),如果发生冲突,则可以在以下文件修改:tomcat7/conf/server.xml 文件里的。

进入/java/apache-tomcat-7.0.26/bin

终端:./startup.sh

      ./shutdown.sh

6、  下载Hadoop0.20版本,这一版本为facebook修改后发布的,用C语言优化处理nativeIO.下载地址:https://github.com/facebook/hadoop-20 加压后可以发现,其目录结构和0.23版本的不一样,有binuildlib等多个文件目录。

解压至~/java文件夹中,用终端进入/java/facebook-hadoop-20-870d3eb/,需要下载.classpath.project两个文件,以生成eclipse工程文件。网上许多方法,先用ant编译成功,在用ant ecplise-files生成.classpath.project文件的方法,在这个版本中行不通。

.classpath.project放在源码根目录下:

地址:https://github.com/apache/hadoop/tree/branch-0.20/.eclipse.templates

终端:chown –R shim:shim build(把build文件修改为shim组的shim使用,-R是连带子目录的意思)

      ant eclipse-files(生成eclipse工程文件,直接用ant命令在hadoop源码根目录下也可以编译成功,但是工程文件无法导入到eclipse中,总报错。也可以进入/bulid目录下用命令ant package,生成工程文件并打包成.dev的包)

eclipse—file—import ,导入工程文件,/test下的程序可能会报错,删除即可。

      ant -Dcompile.native=true package

---把C打包成java的lib库文件,需要先安装zlib,详细步骤参看:http://hadoop.apache.org/common/docs/current/native_libraries.html

PS:编译的时候最好是用sudo ant XXX命令,不要使用root账户。Root账户在编译时可能生成一些文件,调试程序时没有权限删除,造成一些麻烦。

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21130710/viewspace-1119818/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-03-16