2011-02-02 83 views
0

可有人請告訴我如何我可以在其中包含在Apache的Hadoop的執行helloworld.java

class Helloworld 
{ 
    public static void main(String[] args) 
    { 
    Sytem.out.println("HelloWorld"); 
    } 
} 

正在運行一個單一節點的Hadoop的Apache執行我的HelloWorld.java。請告訴我如何運行這段代碼或請發送一個絕對可以理解的初學者鏈接。

回答

1

一個罐子是在Hadoop中運行的方式是通過命令

$HADOOP_HOME/bin/hadoop jar [your_jar_file] 

您還可以使用-jar迫使它作爲本地作業運行。用於播放和調試。

雖然我還沒有測試過這樣一個簡單的應用程序,我認爲它應該打印行,然後完成。儘管如此,不要拘泥於我。 :-P

您可能需要指定mainthrows Exception,但我不是100%。我的代碼有它。

我希望有幫助。正如其他答案中提到的那樣,如果不設置Jobs和MapReduce,Hadoop將無法獲得收益。

1

據我瞭解,Apache的hadoop在你的情況是無關緊要的。你的問題是「如何運行用java寫的hello世界」?

如果我的假設是正確的,請執行以下操作。

  1. 安裝JDK
  2. 使用命令javac Helloworld.java編譯Java代碼。你必須從你的代碼所在的目錄運行這個。 JAVA_HOME/bin應該在你的路徑中。
  3. 如果#2成功,您應該能夠在您的工作目錄中看到Helloworld.class。現在運行它通過鍵入java Helloworld

搜索任何Java教程的初學者的詳細信息。 祝你好運。

+0

我知道它無關緊要。但我想知道我們如何通過hadoop運行一個java程序。要開始,我去了一個簡單的程序。那麼你能告訴我如何在hadoop中運行java程序(簡單的)嗎?謝謝 – emiljho 2011-02-02 14:21:58

+0

Wordcount的例子是hadoop的helloworld。簡單地通過那個 – 2011-02-24 07:41:44

2

簡答:你不。

Hadoop在一般意義上不運行Java應用程序。它運行Map Reduce作業,它可以用java編寫,但不一定是。您應該先閱讀一些apache hadoop文檔。這裏是Map Reduce tutorial。您可能還想看看Tom White的書「Hadoop:權威指南」。

Hadoop是一個面向批處理的大型數據處理系統。它真的只適用於那個問題領域的應用程序。如果這些不是你想要解決的問題,那麼Hadoop就不是你想要的。

+0

你的意思是一個簡單的helloworld問題不會在hadoop中運行? – emiljho 2011-02-02 15:48:49

0

您需要了解Map Reduce的工作原理。您可能需要查看hadoop示例的src以瞭解Map Reduce程序的編寫方式。

0

獨立操作 默認情況下,Hadoop配置爲以非分佈模式運行,作爲單個Java進程。這對調試很有用。

以下示例複製未壓縮的conf目錄以用作輸入,然後查找並顯示給定正則表達式的每個匹配項。輸出寫入給定的輸出目錄。

$ mkdir input 
$ cp conf/*.xml input 
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+' 
$ cat output/* 

在這裏看到:http://hadoop.apache.org/docs/r0.18.2/quickstart.html