當前位置:首頁 » 編程軟體 » 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 瀏覽:397
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:542
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:630
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:365