2013-08-24 109 views
1

我有一個問題..我有一個程序寫在Netbeans中。該程序從cassandra讀取數據並將結果寫入其中。我的程序根本不是MapReduce。我執行程序並從中創建一個.jar文件。現在,我想知道我是否可以在Hadoop中執行它? 實際上,我想知道我可以在Hadoop中運行非MapReduce程序嗎?在hadoop中運行非mapreduce程序

+2

爲什麼? Hadoop在這種情況下帶來了什麼好處?只是HDFS? – duffymo

+0

不,我不知道..我認爲它會加快程序執行時間。所以,你的意思是這個目標恰好發生在Hadoop中的MapReduce框架中? –

+0

爲什麼運行Hadoop(一種用於在羣集上執行大規模並行化問題的map reduce框架)使得非並行化問題比在串行機器上運行得更快?那麼您不明白map reduce或Hadoop的作用。 – duffymo

回答

2

您可以將此程序設計爲在Hadoop v2上作爲紗線應用程序運行。這需要重新設計您的應用程序以適應Yarn範例。如何做到這一點的例子如下:Writing App Framework on Yarn

這不是一個簡單的練習。另外,如果您對使用Hadoop感興趣,我會考慮簡單地重寫您的應用程序以使用專門爲Hadoop編寫的HBase(Cassandra的另一個No-SQL Columnar數據庫競爭對手)。它將您的查詢請求轉換爲自動調用的MapReduce

+1

注:「不是一個簡單的練習」。單獨運行Hadoop將無助於你。你的問題必須是map-reduce-able。 – duffymo

+1

「YARN代表」Yet-Another-Resource-Negotiator「,它是一個有助於編寫任意分佈式處理框架和應用程序的新框架。」 –

+1

「YARN是任何形式的分佈式應用程序運行的通用平臺,而MR2是一種在YARN之上運行MapReduce框架的分佈式應用程序。」 http://blog.cloudera.com/blog/2012/10/mr2-and-yarn-briefly-explained/ –