当前位置:首页 » 编程软件 » hadoop源代码编译

hadoop源代码编译

发布时间: 2022-11-21 17:17:42

1. 如何编译Apache Hadoop2.4.0源代码

我估计你是编译那个按钮都不能点,

是这样的,VS和VC有个很大的区别,VS需要

被编译的对象必须形成一个PROJECT才行,意思就是,你直接打开一个CPP的文件,绝对是编译不了,只能先建立一个工程,再把文件加进去,然后编译的时候是编译整个工程。具体

2. 如何在CentOS6.5下编译64位的Hadoop2.x

一、预先安装必要软件

1、需要的软件:java, svn, autoconf, automake, libtool, ncurses-devel, openssl-devel, gcc, lzo-devel, zlib-devel, znt, maven, protobuf, cmake
检测系统中是否已安装了某一软件命令:rpm -qa|grep 软件名,如检测系统中是否安装了svn:

$ rpm -qa|grep svn
2、如果已安装,则跳过,如果没有安装,用命令:yum install svn进行安装,如:

$ yum install svn
如果yum命令安装失败(找不到相应的包),则需手动下载相应的软件包进行安装,比如maven, protobuf这两个个软件;

二、安装maven

1、软件包:apache-maven-3.0.5-bin.tar.gz
不要使用最新的Maven3.1.1,与Maven3.0.x存在兼容性问题,所以老是出现java.lang.NoClassDefFoundError: org/sonatype/aether/graph/DependencyFilter之类的错误。选择3.0.5版本:apache-maven-3.0.5-bin.tar.gz
将apache-maven-3.0.5-bin.tar.gz移动到/usr目录(软件包所在目录):
# mv ./apache-maven-3.0.5-bin.tar.gz /usr
进入/usr目录,解压(/usr目录):
# tar –zxvf apache-maven-3.0.5-bin.tar.gz ./
删除解压后的压缩包(/usr目录):
# rm –rf apache-maven-3.0.5-bin.tar.gz
将/usr / apache-maven-3.0.5/bin加到环境变量中
# vi /etc/profile
在PATH行的最后加上“:/usr/apache-maven-3.0.5/bin”
2、使配置生效:

# source /etc/profile
验证是否安装成功:

# mvn –version

三、安装protobuf
1、软件包:protobuf-2.5.0.tar.gz
将protobuf-2.5.0.tar.gz移动到/usr目录(软件包所在目录):
# mv ./ protobuf-2.5.0.tar.gz /usr
进入/usr目录,解压(/usr目录):

# tar –zxvf protobuf-2.5.0.tar.gz ./
删除解压后的压缩包(/usr目录):

# rm –rf protobuf-2.5.0.tar.gz
进入/usr/protobuf-2.5.0目录:
# cd /usr/protobuf-2.5.0
2、依次执行下列命令:
# ./configure
# make
# make check
# make install
检测是否安装成功:
# protoc --version
四、下载hadoop-2.2.0源码并编译

在/usr目录进行
用svn下载hadoop-2.2.0源码,命令:
$ svn checkout 'http://svn.apache.org/repos/asf/hadoop/common/tags/release-2.2.0'
源码下载完成后,在/usr目录下会有一个release-2.2.0目录,进入该目录:
$ cd /usr/release-2.2.0
$ ls –la

编译源码:
$ mvn package -Pdist,native -DskipTests –Dtar --不生成文档
$ mvn package -Pdist,native,docs,src -DskipTests –Dtar --生成文档,需要安装findbugs,并设置FINDBUGS_HOME环境变量
编译的时间比较久,编译过程中会联网下载所需要的包,机子没联网是不会成功编译的。
编译结束,最后打印的信息如下,每一项均是‘SUCCESS’,则编译成功:

编译好的代码包在/usr/release-2.2.0/hadoop-dist/target目录下:
$ cd /usr/release-2.2.0/hadoop-dist/target
$ ls –la
因为是在64位系统下编译的,所以编译出来的代码包是64位版本的;可以直接将/usr/release-2.2.0/hadoop-dist/target目录下的hadoop-2.2.0或者hadoop-2.2.0.tar.gz拷贝到其他linux64位平台进行搭建hadoop集群。

说明:
1、 机器得连网,如果没联网找可以联网的机器下载,但是编译时还是要下载一些东西,所以,实在不行。最好找相同平台(可以是虚拟机)能上网的机器做下面工作,弄好了再把编译好的代码包拷回来。
2、 命令操作中,‘#’开头的是在root用户进行,‘$’开头的是在普通用户下进行

3. 如何在eclipse中编辑hadoop2.2.0源代码

我的思路是使用maven的eclipse插件,生成eclipse支持的maven工程,然后导入到eclipse中。
1.下载eclipse的linux版本
eclipse最新版kepler的linux 64位 的下载地址是 http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/kepler/SR1/eclipse-jee-kepler-SR1-linux-gtk-x86_64.tar.gz&mirror_id=1082
然后在hadoop的源代码目录/usr/local/hadoop-2.2.0-src下,创建一个文件eclipseReload.sh,修改文件内容如下:
#!/bin/sh
mvn clean compile
mvn eclipse:clean
mvn eclipse:eclipse
保存退出。
对该文件执行以下命令
chmod u+x eclispseReload.sh
赋予执行权限,然后执行该文件。过一段时间,就会自动生成eclipse项目的结构。
2.导入eclipse
打开eclipse,选择import maven projects,点击Browse… 选择hadoop源码根目录,就可以导入各个项目,竟然后54个项目。

导入之后,eclipse会编译很长时间的,编译过后,出现一堆错误。我们可以关闭eclipse的maven插件,使用如下方法关闭。

等着把这些东西搞定后,然后看看只有hadoop-common编译不通过,看了一下代码是包org.apache.hadoop.ipc.protobuf下面缺少类,而在其他地方竟然使用了其中的类,既然是test部分的代码,我们可以根据eclipse提示自己创建一些类,编译通过。不要删除这些类,因为其他项目也引用了,删来删去很麻烦。

4. 如何编译Apache Hadoop2.2.0源代码

7.编译hadoop2.2源码
从hadoop官网下载2.2稳定版,

执行以下命令解压缩jdk
tar -zxvf hadoop-2.2.0-src.tar.gz
会生成一个文件夹 hadoop-2.2.0-src。源代码中有个bug,这里需要修改一下,编辑目录/usr/local/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth中的文件pom.xml,执行以下命令
gedit pom.xml
在第55行下增加以下内容
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>
保存退出即可。

5. 如何在eclipse中编辑hadoop2.2.0源代码

1.下载eclipse的linux版本


2.然后在hadoop的源代码目录/usr/local/hadoop-2.2.0-src下,创建一个文件eclipseReload.sh,修改文件内容如下:
#!/bin/sh
mvn clean compile
mvn eclipse:clean
mvn eclipse:eclipse
3.保存退出。
4.对该文件执行以下命令:
chmod u+x eclispseReload.sh
赋予执行权限,然后执行该文件。过一段时间,就会自动生成eclipse项目的结构。
5.导入eclipse:打开eclipse,选择import maven projects,出现如下图所示,点击Browse… 选择hadoop源码根目录,就可以导入各个项目,竟然后54个项目。
6.等着把这些东西搞定后,然后看看只有hadoop-common编译不通过,看了一下代码是包org.apache.hadoop.ipc.protobuf下面缺少类,而在其他地方竟然使用了其中的类,既然是test部分的代码,我们可以根据eclipse提示自己创建一些类,编译通过。不要删除这些类,因为其他项目也引用了,删来删去很麻烦。

6. 如何在eclipse中编辑hadoop2.2.0源代码

7.编译hadoop2.2源码
从hadoop官网下载2.2稳定版,

执行以下命令解压缩jdk
tar -zxvf hadoop-2.2.0-src.tar.gz
会生成一个文件夹 hadoop-2.2.0-src。源代码中有个bug,这里需要修改一下,编辑目录/usr/local/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth中的文件pom.xml,执行以下命令
gedit pom.xml
在第55行下增加以下内容
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>
保存退出即可。.

7. 如何编译Apache Hadoop2.4.0源代码

安装JDK

hadoop是java写的,编译hadoop必须安装jdk。

从oracle官网下载jdk,下载地址是http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,选择 jdk-7u45-linux-x64.tar.gz下载。

执行以下命令解压缩jdk

tar -zxvfjdk-7u45-linux-x64.tar.gz

会生成一个文件夹jdk1.7.0_45,然后设置环境变量中。

执行命令 vi/etc/profile,增加以下内容到配置文件中,结果显示如下

export JAVA_HOME=/usr/java/jdk1.7.0_45

export JAVA_OPTS="-Xms1024m-Xmx1024m"

exportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

export PATH=$JAVA_HOME/bin:$PATH

保存退出文件后,执行以下命令

source /etc/profile

java –version 看到显示的版本信息即正确。

安装maven

hadoop源码是使用maven组织管理的,必须下载maven。从maven官网下载,下载地址是http://maven.apache.org/download.cgi,选择 apache-maven-3.1.0-bin.tar.gz 下载,不要选择3.1下载。

执行以下命令解压缩jdk

tar -zxvf apache-maven-3.1.0-bin.tar.gz

会生成一个文件夹apache-maven-3.1.0,然后设置环境变量中。

执行命令vi /etc/profile,编辑结果如下所示

MAVEN_HOME=/usr/maven/apache-maven-3.1.0

export MAVEN_HOME

export PATH=${PATH}:${MAVEN_HOME}/bin

保存退出文件后,执行以下命令

source /etc/profile

mvn -version

如果看到下面的显示信息,证明配置正确了。

8. 如何编译Apache Hadoop2.2.0源代码

hadoop是不需要编译的,解压就可以直接使用了,操作如下:

tar –zxvf hadoop-2.2.0.tar.gz #解压"hadoop-2.2.0.tar.gz"安装包
mv hadoop-2.2.0 /usr/local/hadoop #将"hadoop-2.2.0"移动到/usr/local目录下
chown –R hadoop:hadoop /usr/local/hadoop #将hadoop目录下的属性调整为hadoop

9. 为什么要编译apache hadoop2.2.0源代码

hadoop是不需要编译的,解压就可以直接使用了,操作如下: tar –zxvf hadoop-2.2.0.tar.gz #解压"hadoop-2.2.0.tar.gz"安装包mv hadoop-2.2.0 /usr/local/hadoop #将"hadoop-2.2.0"移动到/usr/local目录下chown –R hadoop:hadoop /usr/local/had...

热点内容
app什么情况下找不到服务器 发布:2025-05-12 15:46:25 浏览:714
php跳过if 发布:2025-05-12 15:34:29 浏览:467
不定时算法 发布:2025-05-12 15:30:16 浏览:131
c语言延时1ms程序 发布:2025-05-12 15:01:30 浏览:166
动物园灵长类动物配置什么植物 发布:2025-05-12 14:49:59 浏览:736
wifi密码设置什么好 发布:2025-05-12 14:49:17 浏览:148
三位数乘两位数速算法 发布:2025-05-12 13:05:48 浏览:398
暴风影音缓存在哪里 发布:2025-05-12 12:42:03 浏览:544
access数据库exe 发布:2025-05-12 12:39:04 浏览:631
五开的配置是什么 发布:2025-05-12 12:36:37 浏览:365