Taiwan Hadoop Forum

台灣 Hadoop 技術討論區
現在的時間是 2022-07-03, 19:05

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 9 篇文章 ] 
發表人 內容
 文章主題 : 改寫hadoop裡面某個程式碼之後, 需要整個hadoop重新編譯過嗎?
文章發表於 : 2011-05-30, 19:27 
離線

註冊時間: 2011-04-06, 13:51
文章: 16
各位大大好:
小弟最近在改寫 hadoop 裡面的 HadoopArchives.java 程式
路徑為:
./src/tools/org/apache/hadoop/tools/HadoopArchives.java
這隻程式是用來做檔案的archive使用的

想請問各位大大, 我改了程式碼之後, 需要整個hadoop重編譯才可以使用嗎?

如果說需要整個重新編譯的話, 那是否只要下 ant 命令就可以了?
小弟用的是Hadoop-0.20.2
然後我用
hadoop@Cluster01:/opt/hadoop/$ ant jar

做完就會產生一個 /opt/hadoop/build/hadoop-0.20.3-dev-core.jar

最後是想問大大, 我是不是只要把這個 hadoop-0.20.3-dev-core.jar
拿去覆蓋掉 /opt/hadoop 底下的 hadoop-0.20.2-core.jar 這個檔案就可以了呢?
請問大大們有沒有詳細的 hadoop compile 過程可以讓我參考, 非常感謝!! :)


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 改寫hadoop裡面某個程式碼之後, 需要整個hadoop重新編譯過嗎?
文章發表於 : 2011-05-31, 00:23 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
vvv6 寫:
各位大大好:
小弟最近在改寫 hadoop 裡面的 HadoopArchives.java 程式
路徑為:
./src/tools/org/apache/hadoop/tools/HadoopArchives.java
這隻程式是用來做檔案的archive使用的

想請問各位大大, 我改了程式碼之後, 需要整個hadoop重編譯才可以使用嗎?

如果說需要整個重新編譯的話, 那是否只要下 ant 命令就可以了?
小弟用的是Hadoop-0.20.2
然後我用
hadoop@Cluster01:/opt/hadoop/$ ant jar

做完就會產生一個 /opt/hadoop/build/hadoop-0.20.3-dev-core.jar

最後是想問大大, 我是不是只要把這個 hadoop-0.20.3-dev-core.jar
拿去覆蓋掉 /opt/hadoop 底下的 hadoop-0.20.2-core.jar 這個檔案就可以了呢?
請問大大們有沒有詳細的 hadoop compile 過程可以讓我參考, 非常感謝!! :)


一則是將 hadoop-0.20.2-core.jar 覆蓋掉,
不然就是刪掉 hadoop-0.20.2-core.jar 然後把 hadoop-0.20.3-dev-core.jar 加入 CLASSPATH。

要注意的是您可能需要重新啟動 HDFS 相關服務(Ex. NameNode, SecondaryNameNode, DataNode)
以確保新的 jar 被載入 Runtime。

- Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 改寫hadoop裡面某個程式碼之後, 需要整個hadoop重新編譯過嗎?
文章發表於 : 2011-06-05, 15:34 
離線

註冊時間: 2011-04-06, 13:51
文章: 16
Jazz大大你好!
我把 HadoopArchives.java 這隻程式稍微改了某一小部分而已
(其實只是把他的一些訊息顯示換掉, 所以我確定程式可以編譯成功)

我先把hadoop關閉 $/opt/hadoop/bin/stop-all
然後我下了 $/opt/hadoop/ant jar (編譯整個hadoop)
產生出 /opt/hadoop/build/hadoop-0.20.3-dev-core.jar
接著我把他覆蓋到 /opt/hadoop/hadoop-0.20.2-core.jar
重新啟動hadoop $/opt/hadoop/bin/start-all

可是我做了一些archive的測試後, 發現我改的程式碼根本沒有被更新到
是因為我改的java檔是在tool下面的關係嗎?
(完整路徑) ./src/tools/org/apache/hadoop/tools

還是說有什麼其他的更新動作呢?
還有在/opt/hadoop/目錄底下有一個檔案叫 hadoop-0.20.2-tools.jar
我是否應該要更新這個檔案才會有用? 而不是更新hadoop-0.20.2-core.jar
那麼我應該怎麼做呢?


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 改寫hadoop裡面某個程式碼之後, 需要整個hadoop重新編譯過嗎?
文章發表於 : 2011-06-07, 01:21 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
vvv6 寫:
Jazz大大你好!
我把 HadoopArchives.java 這隻程式稍微改了某一小部分而已
(其實只是把他的一些訊息顯示換掉, 所以我確定程式可以編譯成功)

可是我做了一些archive的測試後, 發現我改的程式碼根本沒有被更新到
是因為我改的java檔是在tool下面的關係嗎?
(完整路徑) ./src/tools/org/apache/hadoop/tools

還有在/opt/hadoop/目錄底下有一個檔案叫 hadoop-0.20.2-tools.jar
我是否應該要更新這個檔案才會有用? 而不是更新hadoop-0.20.2-core.jar
那麼我應該怎麼做呢?


看起來 HadoopArchives 確實在 hadoop-0.20.2-tools.jar 中

/opt/hadoop$ unzip -t hadoop-0.20.2-tools.jar | grep HadoopArchive
testing: org/apache/hadoop/tools/HadoopArchives$HArchiveInputFormat.class OK
testing: org/apache/hadoop/tools/HadoopArchives$HArchivesMapper$MapStat.class OK
testing: org/apache/hadoop/tools/HadoopArchives$HArchivesMapper.class OK
testing: org/apache/hadoop/tools/HadoopArchives$HArchivesReducer.class OK
testing: org/apache/hadoop/tools/HadoopArchives.class OK

請用 ant tools-jar 編譯~

- Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 改寫hadoop裡面某個程式碼之後, 需要整個hadoop重新編譯過嗎?
文章發表於 : 2011-06-07, 11:14 
離線

註冊時間: 2011-04-06, 13:51
文章: 16
感謝Jazz大大, 我用你說的 $ant tools-jar 已經可以了! ^_^


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 改寫hadoop裡面某個程式碼之後, 需要整個hadoop重新編譯過嗎?
文章發表於 : 2012-04-27, 15:05 
離線

註冊時間: 2011-01-26, 20:34
文章: 13
Jazz大大你好!
請問我要compile整個Hadoop
我改/opt/hadoop/src/mapred/org/apache/hadoop/mapred/裡面的tasktracker
node@node:/opt/hadoop$ ant 下這樣的指令是不是就是編譯整個hadoop了?

編譯好的hadoop在哪裡?


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 改寫hadoop裡面某個程式碼之後, 需要整個hadoop重新編譯過嗎?
文章發表於 : 2012-04-27, 17:39 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
wsx7915 寫:
Jazz大大你好!
請問我要compile整個Hadoop
我改/opt/hadoop/src/mapred/org/apache/hadoop/mapred/裡面的tasktracker
node@node:/opt/hadoop$ ant 下這樣的指令是不是就是編譯整個hadoop了?
編譯好的hadoop在哪裡?


下 ant jar 產生新的 jar 檔。出現位置請留意最後的編譯訊息。
(基本上這串討論最前面就已經有討論過了.......唉..........)

- Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 改寫hadoop裡面某個程式碼之後, 需要整個hadoop重新編譯過嗎?
文章發表於 : 2013-11-28, 22:19 
離線

註冊時間: 2011-11-11, 23:41
文章: 79
For CDH3 (CDH3U6) compiler method same as this.?
got info: :roll:

/usr/local/hadoop-0.20.2-cdh3u6$ ant jar
Buildfile: build.xml

BUILD FAILED
/usr/local/hadoop-0.20.2-cdh3u6/build.xml:42: Execute failed: java.io.IOException: Cannot run program "mvn": java.io.IOException: error=2, No such file or directory


build.xml line 42 is: <exec executable="mvn" dir="${basedir}" failonerror="true">

thanks!!


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 改寫hadoop裡面某個程式碼之後, 需要整個hadoop重新編譯過嗎?
文章發表於 : 2013-11-28, 23:18 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
我在近期的課程中展示了新的方式,只會針對更新的 class 檔把原始的蓋掉。
說明與程式碼請參考:
http://trac.nchc.org.tw/cloud/wiki/Hinet131105/Lab9

- Jazz


回頂端
 個人資料 E-mail  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 9 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
正體中文語系由 竹貓星球 維護製作