導航:首頁 > 源碼編譯 > hadoop編譯源碼

hadoop編譯源碼

發布時間:2022-01-23 05:12:54

1. window下怎麼編譯hadoop的源碼

a) 進入windows命令行模式,進入到D:\soft\hadoop-2.6.4-src\hadoop-maven-plugins目錄,執行"mvn install"命令,如果命令行界面提示:build success"時表示成功:
b) 進入到hadoop-2.5.2-src 目錄,執行"mvn eclipse:eclipse -DskipTests"命令,如果出現"BUILD SUCCESS"說明hadoop源碼編譯成功。

c) 打開eclipse開發工具,將D:\soft\hadoop-2.6.4-src導入到workspace中,就可以查看源碼。

2. 如何用ant編譯hadoop-1.2.1源碼

1、安裝ant 2、安裝m4 3、安裝autoconf 4、安裝automake 5、安裝libtool 6、安裝ant vi /etc/profile export ANT_HOME=%ANT% export PATH=$java_HOME/bin:$ANT_HOME/bin:$PATH source /etc/profile 7、安裝eclipse 8、解壓Hadoop文件,並修改配置文件 取消ivy-download %hadoop%/src/contrib/build-contrib.xml 添加hadoop的version和eclipse的eclipse.home屬性 <!-- hadoop版本、eclipse安裝路徑 --> <property name="version"value="1.1.2"/> <property name="eclipse.home"location="%eclipse%"/> 編輯%HADOOP_HOME%/build.xml 修改hadoop版本號 取消ivy-download %hadoop%/src/contrib/eclipse-plugin/build.xml 取消ivy-download: 添加將要打包到plugin中的第三方jar包列表 <!-- 自定義的修改內容:begin --> <!-- < file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar"verbose="true"/> < file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib"verbose="true"/> --> < file="${hadoop.root}/hadoop-core-${version}.jar"tofile="${build.dir}/lib/hadoop-core.jar"verbose="true"/> < file="${hadoop.root}/lib/commons-cli-1.2.jar" todir="${build.dir}/lib"verbose="true"/> < file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib"verbose="true"/> < file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib"verbose="true"/> < file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib"verbose="true"/> < file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib"verbose="true"/> < file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" todir="${build.dir}/lib"verbose="true"/> <!-- 自定義的修改內容:end --> 修改%hadoop%/src/contrib/eclipse-plugin/META-INF/MANIFEST.MF 修改${HADOOP_HOME}/src/contrib/eclipse-plugin/META-INF/MANIFEST.MF的Bundle-ClassPath: Bundle-ClassPath: classes/, lib/hadoop-core.jar, lib/commons-cli-1.2.jar, lib/commons-configuration-1.6.jar, lib/commons-httpclient-3.0.1.jar, lib/commons-lang-2.4.jar, lib/jackson-core-asl-1.8.8.jar, lib/jackson-mapper-asl-1.8.8.jar 9、執行ANT (編譯源代碼) 進入到%hadoop%/執行ant compile 10、進入到%hadoop%/build/contrib/eclipse-plugin/執行 ant jar (生成elipse插件)

3. 怎麼使用eclipse編譯hadoop源碼

使用eclipse編譯hadoop源碼

1,建立一個Hadoop源碼文件夾
2、svn 檢出hadoop1.0.4的源碼。svn checkout http://svn.apache.org/repos/asf/hadoop/common/tags/release-1.0.4
注意:如果在ubuntu下直接上面語句報錯,可能需要執行下面的語句
sudo apt-get install autoconf
sudo apt-get install libtool
3、在檢出完成後的目錄下執行
ant eclipse.然後將源碼導入到eclipse中。
4、修改 release-1.0.4/src/contrib/gridmix/src/Java/org/apache/hadoop/mapred/gridmix/Gridmix.java
將兩處的 Enum<? extends T> 改成 Enum<?>

5、編譯器設置及編譯。
右擊工程名,Properties-->Builders-->New--->Ant Builder
New_Builder --> Edit: Name: hadoop-Builder.Main:Builderfile(builder.xml的位置):/home/nacey/workspace/source-workspace/hadoop-1.0.4;Targets—>Manual Build: jar
然後選擇菜單Project-->Build Project

在/home/nacey/workspace/source-workspace/hadoop-1.0.4/build文件夾下會生成三個開發 jar 包:

hadoop-client-1.0.4-SNAPSHOT.jar
hadoop-core-1.0.4-SNAPSHOT.jar
hadoop-minicluster-1.0.4-SNAPSHOT.jar

去掉"-SNAPSHOT"即可替換hadoop-1.0.4 下的同名 jar 包.

注意如果要在集群中使用自己編譯的jar,則需要替換集群中的所有機器。不然會出現版本不匹配。

4. 為什麼要編譯 hadoop 源碼 怎麼在eclipse里寫hadoop程序啊~ 上不了外網,hadoop源碼編譯不了,該怎麼

1:編譯了hadoop,可以方便的查看某個函數的實現。如果不編譯就只是自己去翻源代碼了。更重要的是如果你編譯了hadoop,你可以根據自己的需要改動hadoop的某些實現機制。(hadoop開源的好處).
2:編程hadoop程序是不需要編譯hadoop源碼的。你可以參看網上hadoop安裝教程。
關於hadoop編程,歡迎訪問我的博客:http://blog.csdn.net/jackydai987

5. hadoop 源代碼 從哪裡可以找到啊怎麼下載,說詳細一點謝謝

你可以用SVN軟體在這里同步到最新的代碼:
http://svn.apache.org/repos/asf/hadoop
其實你同步你研究領域的分支就可以了,全同步實在太大了。
SVN軟體可以用Tortoise SVN,使用方法一下就可以了。
當然也可以到cloudera或Yahoo!的hadoop官網的download鏈接去下載。

6. 為什麼要編譯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...

7. hadoop源碼修改了,編譯成功後,將編譯後的hadoop文件直接拿來搭建么,還是需要經過什麼處理呢

把你編譯後的hadoop源碼丟到原來的hadoop集群環境中去 即覆蓋hadoop安裝目錄下的原hadoop-core-xxx.jar 同樣的所有節點都需要更新 然後重啟集群

8. linux下,如何在上不了外網的情況下編譯hadoop源碼作為一名學生,真是太愁苦了!!

1.首先確認,你的linux上有沒有安裝ant
2.確認你的 各種環境是否配置正確(不會的話去看hadoop開發指南)
我把我的build.xml發給你
<?xml version="1.0"?>
<!--build.xml - a simple Ant buildfile -->
<project name="Simple Buildfile" default="compile" basedir=".">

<!--Set up the env prefix for environment variable -->
<property environment="env"/>

<!-- The directory cotaining source code -->
<property name="src.dir" value="src" />

<!-- Temporary build directories -->
<property name="build.dir" value="build"/>
<property name="build.classes" value="${build.dir}/classes"/>
<property name="build.lib" value="${build.dir}/lib"/>
<property name="jar.name" value="howtouse.jar"/>

<!-- Hadoop path -->
<property name="hadoop.path" value="${env.HADOOP_HOME}"/>

<!-- Target to create the build directories prior to the -->
<!-- compile target -->
<target name="prepare">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.classes}"/>
<mkdir dir="${build.lib}"/>
</target>

<target name="clean" description="Removes all generated files.">
<delete dir="${build.dir}"/>
</target>

<target name="compile" depends="prepare" description="Compiles all source code.">
<javac srcdir="${src.dir}" destdir="${build.classes}" includeantruntime="false"
deprecation="false">
<classpath>
<pathelement location="${hadoop.path}/hadoop-core-0.20.203.0.jar"/>
<pathelement location="${hadoop.path}/hadoop-tools-0.20.203.0.jar"/>
<pathelement location="${hadoop.path}/hadoop-examples-0.20.203.0.jar"/>
<pathelement location="${hadoop.path}/lib/mockito-all-1.8.5.jar"/>
<pathelement location="${hadoop.path}/lib/junit-4.5.jar"/>
<pathelement location="${hadoop.path}/lib/commons-math-2.1.jar"/>
<pathelement location="${hadoop.path}/lib/commons-cli-1.2.jar"/>
<pathelement location="${hadoop.path}/contrib/datajoin/hadoop-datajoin-0.20.203.0.jar"/>
</classpath>
</javac>
</target>

<target name="jar" depends="compile" description="Generates jar in the dist directory.">
<!-- Exclude unit tests from the final Jar file -->
<jar jarfile="${jar.name}" basedir="${build.classes}" excludes="**/*Test.class"/>

</target>

<target name="all" depends="clean,jar" description="Cleans,compiles,then builds the Jar file."/>

</project>

確保以上條件後
1.將自己寫的java文件放到 /home/hadoop/ant/build/src 使用XFTP
2.在HDFS中新建一個文件目錄專門用來裝資源文件 hadoop fs -mkdir /user/src
3.將simple.txt測試文件放到HDFS中 hadoop fs -put/user/src
4.將/home/hadoop/ant/build/src下的java文件編譯打包成play.jar(名字由build.xml決定)
方法:編譯之前必須保證與build.xml同級目錄下 ant jar
5.hadoop單機模式運行的時候必須保證在lib目錄下
hadoop jar play.jar hadoop/MaxTemperature /user/src/simple.txt output

9. hadoop源碼是c語言寫的嗎

//******友情提示:如想速度快點,請改小_sleep(500)函數中參數***** #include #include #include #include #include const int H = 8; //地圖的高 const int L = 16; //地圖的長 char GameMap[H][L]; //游戲地圖 int key; //按鍵保存 int sum = 1, over = 0; //蛇的長度, 游戲結束(自吃或碰牆) int dx[4] = {0, 0, -1, 1}; //左、右、上、下的方向 int dy[4] = {-1, 1, 0, 0}; struct Snake //蛇的每個節點的數據類型 { int x, y; //左邊位置 int now; //保存當前節點的方向, 0,1,2,3分別為左右上下 }Snake[H*L]; const char Shead = '@'; //蛇頭 const char Sbody = '#'; //蛇身 const char Sfood = '*'; //食物 const char Snode = '.'; //'.'在地圖上標示為空 void Initial(); //地圖的初始化 void Create_Food(); //在地圖上隨機產生食物 void Show(); //刷新顯示地圖 void Button(); //取出按鍵,並判斷方向 void Move(); //蛇的移動 void Check_Border(); //檢查蛇頭是否越界 void Check_Head(int x, int y); //檢查蛇頭移動後的位置情況 int main() { Initial(); Show(); return 0; } void Initial() //地圖的初始化 { int i, j; int hx, hy; system("title 貪吃蛇"); //控制台的標題 memset(GameMap, '.', sizeof(GameMap)); //初始化地圖全部為空'.' system("cls"); srand(time(0)); //隨機種子 hx = rand()%H; //產生蛇頭 hy = rand()%L; GameMap[hx][hy] = Shead; Snake[0].x = hx; Snake[0].y = hy; Snake[0].now = -1; Create_Food(); //隨機產生食物 for(i = 0; i _= H || Snake[0].y = L) over = 1; } void Check_Head(int x, int y) //檢查蛇頭移動後的位置情況 { if(GameMap[ Snake[0].x ][ Snake[0].y ] == '.') //為空 GameMap[ Snake[0].x ][ Snake[0].y ] = '@'; else if(GameMap[ Snake[0].x ][ Snake[0].y ] == '*') //為食物 { GameMap[ Snake[0].x ][ Snake[0].y ] = '@'; Snake[sum].x = x; //新增加的蛇身為蛇頭後面的那個 Snake[sum].y = y; Snake[sum].now = Snake[0].now; GameMap[ Snake[sum].x ][ Snake[sum].y ] = '#'; sum++; Create_Food(); //食物吃完了馬上再產生一個食物 } else over = 1; }

閱讀全文

與hadoop編譯源碼相關的資料

熱點內容
小謝解壓 瀏覽:139
h264編碼器源碼 瀏覽:664
有什麼辦法翻錄加密視頻 瀏覽:666
java數據結構與演算法面試題 瀏覽:977
解壓不了是什麼意思 瀏覽:359
紐西蘭編程師年薪 瀏覽:321
程序員為什麼大多生閨女 瀏覽:51
c編程用英文還是中文 瀏覽:723
一點都不解壓的游戲 瀏覽:203
解壓為什麼不能用中文文件夾 瀏覽:615
伺服器如何解除備份 瀏覽:144
安卓手機為什麼用一年就變卡 瀏覽:11
如何用風變編程自動回復 瀏覽:512
安卓閱讀幣怎麼樣 瀏覽:437
京東app怎麼切號 瀏覽:583
進入傳奇伺服器後如何修改 瀏覽:42
m0單片機的cycle怎麼知道 瀏覽:806
linux命令太長 瀏覽:782
壓縮機nb1111y是多少w 瀏覽:45
打賞視頻用什麼伺服器好 瀏覽:154