Sunday 27 September 2015

Hadoop MapReduce 開發環境快速建立(Cloudera CDH)

Preface

這篇文章適合開始學如何使用 Java 進行開發 Hadoop 的 MapReduce 程式的人。主要內容在於介紹如何建立Hadoop,以及開發環境IDE(Integrated Development Environment),如何建立第一個專案。

系統環境:Windows
軟體需求:虛擬軟體(Ex: VMware, Virtual Box) 、CDH QuickStart VM
硬體需求:建議雙核心以上的CPU、記憶體8G以上

Tutorial

下載對應虛擬軟體的 CDH QuickStart VM ,再用對應的虛擬軟體啟動虛擬機器即可。

啟動虛擬機器後,Hadoop 的相關服務都已經啟動了。接下來的操作可以參考這個Youtube影片或者是以下的圖文敘述。

啟動桌面大家都耳熟能詳的 eclipse。

會看到已經有一個名為"Trainer"的專案,點選右鍵複製、貼上。


 接著為這個新的專案命一個新的名字 。

接著在這個路徑"<project name>/src/(default package)"下可以看到四個檔案StubMapper, StubReducer, StubDriver, Stubtest,這四個檔案可以透過點擊右鍵來重新命名。

目前Hadoop新的MapReduce API運作架構如下圖所示:

Driver裡面必須包含java程式的進入點main,接著由main去控制要直行哪一個Mapper、Reducer。

接著幫專案加入hadoop的api套件,這樣Developer所開發的MR program才可以順利的在 Eclipse Console執行。

先刪除原先已經加入的套件
對著專案點右鍵 > 選擇Properties > Java Build Path,接著就可以看到目前已經加入的套件了,全選然後刪除。

加入Hadoop的套件
點選Add External JARs,接著把下列兩個路徑裡的Jar加進來
~/usr/lib/hadoop/client-0.20
加入全部的Jar

~/usr/lib/hadoop/

hadoop-annotations.jar
hadoop-auth.jar
hadoop-common.jar
完成之後就可以,回到專案的/src路徑底下進行撰寫Mapper、Reducer、Driver的程式了。接著將測試分析的資料放到專案路徑底下,加入執行的參數(Arguments),就可以執行專案了。

0 comments:

Post a Comment