跳到主要內容

Hadoop with Netbeans 雲端開發環境

big-hadoop-logo

 

Hadoop 是現今當紅的雲端平台,

在國內目前雲端發展中,也常能見到Hadoop 的推廣應用。

相關Hadoop的介紹與設定,在國家高速網路與計算中心的網站上有非常大量的教學資源可以使用,當中包含了系統安裝設定的step by step,佛心來著吶!

 

然而在整合開發環境上,目前大多教學說明都使用Eclips做為開發工具,

因此這篇文章主要針對習慣使用Netbeans 進行環境開發的設計人員做介紹,

瞭解如何將Netbeans plug上Hadoop的開發套件。

 

第一件事,

由於Hadoop一般安裝於Linux平台,

為求單純,以下的內容皆是執行於Linux GUI中的 Netbeans 環境。

 

Hadoop 本身運作原理為透過Map-Reduce方式將工作丟到NameNode中執行,

並再匯集輸出,詳細介紹可以參考 國家高速網路與計算中心的『Map Reduce 介紹

 

因此netbeans必須要安裝連接Hadoop Server的中介程式,

因此,這裡我們採用 Karmasphere Studio  做為netbeans連接Hadoop的中介,

當中Community Edition為免費版本,與Professional 版的差異為安全連線與即時監控等等 (詳見)

Karmasphere Studio安裝方式可由Netbeans Plugins直接下載安裝!

 

 

以下為安裝介紹:

 

 

註冊Karmasphere Studio

 

由於Karmasphere Studio套件需要輸入一個啟動金鑰才能進行安裝,

因此必須先連結照Karmasphere Studio註冊網頁進行註冊 [Link]

註冊完成後Karmasphere會以E-Mail通知並提供一組 serial key ,

請保留此 Key到之後的步驟。

 

 

安裝Karmasphere Studio 

 

1. 執行Netbeans後,開啟 Tools/Pligins

 

image

 

2. 進入Plugins後請選擇右方setting分頁,並點選右下角 Add 按鈕

隨後於當中輸入更新路徑:

Name:  Karmasphere Studio for Hadoop
URL:  http://hadoopstudio.org/updates/updates.xml

 

image

 

3. 連結完成後請點選 Available Plugins 分頁,並依照Name排序後面可以看到Karmasphere Studio套件,請點選Karmasphere Studio for Hadoop 套件,並按Install 進行安裝。

 

image

 

4. 遵循安裝流程安裝後,會進入到 Register Activation Job 程序,輸入申請的E-Mail與Serial Key便完成安裝。

image

 

5. 安裝完以上套件後,Netbeans - Services 便會產生三個Hadoop 標籤

Hadoop Jobs, Hadoop Clusters, Hadoop Filesystems,如此便完成安裝了!

image

 

6. 使用 Hadoop 的方式與一般Java Application 無異,New 一個Project後設定class 即可。

要注意的地方式,在create project後,在其 Library 點選右鍵選 Add Library,並挑選你所安裝的版本即可,本例為 Hadoop MapReduce 0.20。隨後所有的Hadoop Library便會新增到專案中。

image   image

 

 

執行 Hadoop Mapreduce 程式

 

當完成設定並撰寫完專案檔後,可透過NetBeans執行專案,執行方式如下:

 

1. 建立JAR檔,Build Project

開發完成後請執行  Run / Build Main Project  ,隨後在專案目錄下的Dist目錄內便會產生一個JAR檔,例:

專案名稱:test

路徑:/home/hadooper/ex/test/

JAR檔:/home/hadooper/ex/test/dist/test.jar

 

2. 於 Services 中的 Hadoop Job點選右鍵執行 New Job

image

 

3. 進行 Job設定

Step 1 : 給予這個Job 名稱,並選擇 Hadoop Job from pre-existing JAR file

Step 2 : 使用Browse 找到專案的JAR檔,會自動填入Main Class名稱

Step 3 : 選擇Cluster ,並輸入參數,如要輸入的目錄路徑, 輸出的路徑

其餘可使用預設,點選Finish後便會產生一個New Job

image

 

 

4. 執行 Job

在新增的Job中點選右鍵執行 Run Job,

當中便會有預設的Cluster與Filesystem,只要針對參數進行設定後即可執行。

如設定;  input_file output_file

 

輸出視窗若顯示以下訊息即表示完成:

run:

BUILD SUCCESSFUL (total time: 0 seconds)

 

image

 

 

 

 

範例參考

 

以下提供一個WordCount範例做為參考 ( 範例出處 )

當中請先下載執行檔,與輸入文件檔

WordCount.java

Text File – 01

Text File - 02

 

建立步驟:

  1. 請依上述步驟建立Project (名稱 WordCount) ,隨後將WordCount.java匯入到該專案的src目錄中。
  2. 建立一個input 目錄如 : /home/hadooper/inputfile   (output目錄會自動產生)
  3. 並將兩個txt檔案置入。
  4. 隨後Build專案使其產生JAR檔
  5. 新增Job並設定參數為/home/hadooper/inputfile   /home/hadooper/outputfile
  6. Run Job

 

範例執行結果:

在設定的輸出目錄/home/hadooper/outputfile  中可看到一文字檔,內容為輸入目錄中所有檔案的Word Count

 

BP 201103.14

 

 

參考資料:

留言

  1. 很有幫助, 謝謝您

    回覆刪除
  2. 請問一下~
    我們這邊hadoop filesystems可以連的hdfs,可是run jab的時候他沒反應也沒output

    回覆刪除
  3. 你的job是run完後沒結果嗎?
    還是結果只有跑在一個node?

    若是只有跑在一個node,
    有可能是你程式在做map/reduce時沒有把它指派切出去

    回覆刪除
  4. 不知道Karmasphere Studio有沒有套件可以直接上傳檔案到hdfs,不用用終端機打指令

    回覆刪除

張貼留言

這個網誌中的熱門文章

Google 資料庫方案–Spreadsheet–(1)資料呈現

HEMiDEMi 的標籤: Google , Google SpreadSheet , 雲端 早在規劃『 教育,意義! 』project時, 便有打算將整個網站建立過程撰寫一篇教學,讓有興趣以google 服務為基礎進行開發的朋友參考。 沒想到這個想法擺著就拖了好幾個月, 好在學生提出了問題,就趁這機會寫一寫吧。 基本上『 教育,意義! 』網站的架構完全建立在Google提供的服務, 廣義來說也是個雲端的系統, 所有的資料是分散在不同的服務架構下,再用GAE, Javascrript將服務資訊串接起來, 由Blogspot 統一呈現。 省了租主機的費用,或架站的硬體、電費, 最好的地方在於不用管理主機維運的問題, 只要專心做我的創意、嘗鮮就好了!!   多棒! 若將『 教育,意義! 』網站依功能層次來分類,可以分為三層結構, 當中的層次與使用技術大致如下: UI 介面層 服務 : Blogspot (網站介面) , Picasa (相簿空間), Google Apps 技術 : Javascript , AJAX ( JQuery ) App應用層  服務 : Google App Engine (GAE) 技術 : Java, Java Server Page (JSP) 資料層 服務 : Google Docs (文件), Google Spreadsheet (試算表) 技術/函式庫 : Java, Google Data APIs 本篇文章將著重在介紹以Google Spreadsheet 做為雲端資料庫, 其他主題將會陸續推出。 若對Google API 與 Google App Engine 初步建置有興趣, 可以參考之前文章: 佛心來著的 Google Data API – for JAVA 雲端的開始:Netbeans 無痛 Google App Engine Java 服務開發 Google Spreadsheet 做為資料庫系統 對於小型的資料系統來說, 採用Google Spreadsheet做為應用程式資料庫(如問卷調查或線上系統) 也算堪用, 目前的儲存限制為 : 40 萬個儲存格 每張工作表最多 256 欄 而Goog

吃過這麼多巧克力卻沒吃過可可豆!?

這次跟著技師與農部官員進行的考察之旅, 讓好一陣子都坐在電腦前的我,過了個非常暢快的旅程。 尤其是其中一戶種植不少可可的農家, 讓我第一次真實的看到也品嘗到這個奇妙的東西。 可可豆(Cacao)有許多種顏色,時常是綠色但這戶農家的品種則是紅色, 而可可樹上可以結出許多果實,有些甚至超過十顆以上, 而剛長出的可可豆夾非常小巧,如同小葡萄乾一般 (如下圖) 而適於採收的豆莢非常的巨大, 剖開後有著數十顆乳白色的果實,就是我們常聽到的可可豆!!