跳到主要內容

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,不用用終端機打指令

    回覆刪除

張貼留言

這個網誌中的熱門文章

醫學健康跨領域合作的開始:資料工程

一直都很喜歡在會議上與跨領域的專家、醫師、學者分享我們在數據工程與分析應用上的發展經驗。 許多的專家學者,對於大數據應用的認知都仍侷限在一個超大型結構化資料集的子集合應用,在規劃好的條件設定下,針對特定的目標(疾病、行為)進行篩選,將數據narrow down到可以被個人電腦或是單一伺服器架構處理的小型資料集。 這樣的半手工處理方式,對於專一(Specific)領域主題的資料追蹤計算或許已經十分足夠,但當中倘若資料清理方式有改變、篩選條件增減,所有的數據都要從raw重新處理,不僅造成大量的時間與人力浪費,對於專案計畫進度的延宕更是麻煩。這些還不包含

別再期末談臨終

『在那六年多的時間,我常常反省、後悔、卻也培養勇氣,問自己再遇到時要做什麼決定?.......回想我要簽同意書的時候,真的會抖-我有資格決定人家生死嗎?』 面對死亡,我們都很害怕,更何況是家人的臨終。 但究竟我們的選擇,是為了給家人最後的尊嚴? 還是填補自己的罪惡感? 學習勇敢面對、學習放下, 更要學著為自己的未來做好規劃,不成為子女的負擔。 希望大家一起鼓勵這個勇敢的朋友, 因為她的經驗分享,讓我們更加了解, 面對家人臨終,我們該如何做好準備。 『末期才談臨終太遲』 https://www.wacare.live/health-forum/q/1984983840830?topicId=25049764537230&fbclid=IwAR1ei-zrfSj9w5kbvBW5ecSbqWrI408fJ1qjXhisZwLxYdbON_jJbNKMAyY 更多的失智照護課程 https://www.wahere.wapro.live/udnxwacare Pan 2020.12.22 #臨終 #失智 #善終 #放棄急救 #預立醫療 #病人自主

物聯網與大數據時代下的個人化精準醫療

Source:  idownload blog 2014 年,當致力於電子病歷 (Electronic Medical Record, EMR) 分析,藉以尋找癌症機轉與治療方法的大數據公司 Flatiron Health 獲得 Google 創投( Google Ventures )高達 1.3 億美元投資後 [1] ,個人化精準醫療( personalized medicine )隨即成為火紅的熱門主題,這樣一股氣勢發展,讓美國總統歐巴馬 (Obama) 更在今年提出精準醫療計劃( Precision Medicine Initiative) ,並投入 2016 年預算高達 2.15 億美金之譜 [2] 。 在精準醫療這般的強勢展開下,不僅僅只有過去生物資訊上基因體學、轉錄體學上的資料探勘或是電子病歷醫療健康數據分析,物聯網 (Internet of Thing) 的發展也同時透過行動裝置與消費型穿戴式裝置大舉進入個人化健康促進與醫學上疾病研究領域。在這機電感測裝置快速發展下,各種輕巧卻具備多種感測裝置的隨身穿戴式裝置逐漸普及於消費電子商品市場,各家廠商發展出豐富的產品功能不僅能記錄活動頻率,更能偵測活動強度、睡眠狀態、作息規律,更甚至能取得穿戴者 24 小時的心跳狀態與壓力疲勞狀態,並利用這些生理數據進行健康促進的提醒與建議。