加速開發! 在windows開發hadoop程式,直接運行 map/reduce

13
加加加加 ! 加 windows 加加 hadoop 加加 加加加加 map/reduce 加加加

Upload: wei-yu-chen

Post on 09-Feb-2017

738 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 加速開發! 在Windows開發hadoop程式,直接運行 map/reduce

加速開發 ! 在 windows 開發 hadoop 程式直接運行 map/reduce

陳威宇

Page 2: 加速開發! 在Windows開發hadoop程式,直接運行 map/reduce

狀況 !!• 一般而言,常在 windows 上開發 hadoop 的程式,會用的方法都是,先開發程式,打包成 jar ,丟到 linux 平台 run ,有錯再回來修改,打包, run ,無限循環• 以下的方法可以讓你直接在 eclipse 上直接 run ,並立馬看結果與錯誤訊息等,都可以在 eclipse 上直接看,並且可使用 debug 模式了解每一行程式運作的過程

開發 / 修正 hadoop map-reduce 程式

Export/Build package 成 jar

上傳 hadoop 平台 執行 hadoop jar 等待運作結果

找 log 察錯誤

驗證結果 正確

(15s) (5s) (1min~)

(1min~)

(1min~)

開發 / 修正 hadoop map-reduce 程式

執行 hadoop jar 等待運作結果找 log 察錯誤

驗證結果 正確(2s)

(10s) (10s)

eclipse eclipse linux linux linux

linux

eclipse eclipse eclipse

eclipse

Windows 上開發 map reduce 程式 => 需跨兩個平台, run 一次至少 3 分鐘以上

直接運行 => 直接在編輯器上, run 一次 22 秒 左右完成 節省 87% 以上的執行時間

Page 3: 加速開發! 在Windows開發hadoop程式,直接運行 map/reduce

四步驟,即可在 windows 上編譯運作hadoop mapreduce 程式此方法可以提升在windows 上開發mapreduce 程式的 productivity

Ps : Linux 上用eclipse 開發,用原生的 hadoop source 即可配置,直接運行

Page 4: 加速開發! 在Windows開發hadoop程式,直接運行 map/reduce

• 下載 http://crawlzilla.nchc.org.tw/hadoop/hadoop_lib_workspace.zip• 到指定的目錄下,如 D:\waue\  • 解壓縮後, D:\waue\hadoop_lib_workspace 多了兩個資料夾 bin , lib 

1. 設定 hadoop windows library╚ 1.1 下載 hadoop windows lib 編譯檔

注意 !! 在此提供的是 windows 7 / 64 bit 編譯後的 hadoop.dll 與 winutils.exe , win 7 / 32bit 應該無法使用,請自行在網路上找別人編譯過檔案來放

Page 5: 加速開發! 在Windows開發hadoop程式,直接運行 map/reduce

• 將剛剛下載的 D:\waue\hadoop_lib_workspace\bin 加入到 user path 中

1. 設定 hadoop windows library ╚ 1.2 設定 user path

此步驟可以解決 Error Message : .NativeIO$Windows.access0(Ljava/lang/String;I)Z

Page 7: 加速開發! 在Windows開發hadoop程式,直接運行 map/reduce

• Add external jars => D:\waue\hadoop_lib_workspace\lib

2. 建立 eclipse hadoop project   ╚ Add external jars (1)

Page 8: 加速開發! 在Windows開發hadoop程式,直接運行 map/reduce

• Add external jars => D:\waue\hadoop_lib_workspace\lib

2. 建立 eclipse hadoop project ╚ Add external jars (2)

Page 9: 加速開發! 在Windows開發hadoop程式,直接運行 map/reduce

• Add external class => D:\waue\hadoop_lib_workspace\bin

2. 建立 eclipse hadoop project ╚ Add external class (1)

Page 10: 加速開發! 在Windows開發hadoop程式,直接運行 map/reduce

• Add external class => D:\waue\hadoop_lib_workspace\bin

2. 建立 eclipse hadoop project ╚ Add external class (2)

Page 11: 加速開發! 在Windows開發hadoop程式,直接運行 map/reduce

• HADOOP_HOME => D:\waue\hadoop_lib_workspace

3. run config 中 設定╚ 設定 hadoop_home

Page 12: 加速開發! 在Windows開發hadoop程式,直接運行 map/reduce

4. run java application

Page 13: 加速開發! 在Windows開發hadoop程式,直接運行 map/reduce

結果可以達到跟編寫一般 java 程式般,簡單開發 map reduce 程式