跳到主要內容

發表文章

目前顯示的是有「hadoop」標籤的文章

Hadoop with Netbeans 函式包裹至單一專案JAR檔

    在Hadoop雲端環境執行程式時, 主要是將程式先包裹為一個JAR檔後,由Master 將其做為Task送出到各個node進行處理, 然而當系統較為複雜時,程式內引用的處理程序往往更為繁雜, 以生物資訊的案例來說, 一個專案中可能會需要用到如:連結遠端特定服務的library ( Ex:BLAST) , XML 的Library (Ex: JDOM) , 網路連結套件 (Ex: httpclient), WSDL, SAAJ …. 等許許多多的外部函式庫。   這狀況若以Web Service 來說並不會造成問題, 因為Netbeans 會自動Deploy 成一個 war檔進行部署。   但在一般的專案中, Netbeans只會將專案本身包為 JAR檔,其餘外部的函式( 如引入在 /lib/下的外部jar檔) 在build後並不會包入JAR中,而僅是存放在dist/中的lib/目錄下。   這在平常或許沒什麼太大問題, 只要設定classpath或放到公用java classpath (ext/lib)中即可。   但在雲端環境中,由於JAR是做為Task傳送到不同的node server執行, 除非是每個node都預先存放好 library,否則在執行時便會因為僅將專案JAR檔送出, 造成 node server找不到外部library 而引發ClassNotFoundException導致task falue 。   解決上述問題的方式,有以下幾種方法: 將library放入各node Server的共用函式資料夾 將外部涵式解開JAR後,將package複製到自己的專案內,再令其重新build包裹在一起 直接將JAR檔包進JAR中   然而在雲端環境中,若要逐一對node server預先設定外部library, 不只耗時費工 (node server可能高達百臺),更有可能因為外部server而無法進行設定。   以上作法最便利的便是第三種方式:將外部的JAR包入專案的JAR中 此方法類似 Eclipse中的 “Fat Jar” plugin ,可以將外部的JAR直接包裝進JAR中, 而 ...

Hadoop with Netbeans 雲端開發環境

HEMiDEMi 的標籤: Hadoop , Cloud computing , Netbeans , 雲端計算   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到之後的步驟。     ...