2013-02-14 130 views
1

我想弄清楚是否可以在單臺機器上設置整個storm project用於測試和模擬目的,所以這個問題主要是針對那些試過這個。我知道,使用Hadoop(這是Storm所基於的)可以模擬一個集羣。我已經閱讀了一些關於Maven的內容,以及它如何用於本地運行Storm,但不確定Maven是什麼以及如何它會真的有用。我希望這裏有人能幫助我。是否有可能在單臺機器上設置Storm API

回答

5

是的,這是可能的。您可以站起來讓Storm運行的「單節點集羣」,它可以全部集中在一臺機器上。這將仿真一個真正的集羣會是什麼樣子,但是你將有1臺機器託管整個堆棧(ZooKeeper & Storm)。本質上,Nimbus服務器是您的工作服務器。對此進行配置與在此處的指南相同:https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster。基本上所有東西都是你的本地主機。 Maven是一個構建工具,用於從源代碼構建軟件(它也可以做其他事情,比如部署和釋放它)。在這種情況下,我建議您獲取storm-starter project from github,並使用它來讓您的雙腳受到暴風雨的侵襲。你會得到啓動項目後運行Maven的命令應該是這樣的:

$ mvn -f m2.pom compile exec:java -Dexec.classpathScope=compile -Dexec.mainClass=com.some.package.name.YourMainTopologyClass 

需要注意的是,你可以很容易地使用雷音得到它的那麼順利。

因此,要總結:

  1. 是的,你可以站起來,這將是風暴的「單節點集羣」,並用它來發送拓撲運行。
  2. 是的,您可以使用Maven執行Storm Topology。請注意,暴風雨啓動器真的是你應該玩的,以瞭解它是如何工作的。請注意,在一些示例中,它們構建並使用的拓撲最終會被提交到LocalCluster。這對拓展的&測試以及essentially simulates a Storm Cluster正在進行中是非常理想的。
+0

感謝您的回答,我正在讀一些職位的人在各種論壇和一些人說你可以只包括在類路徑風雨樓中的Maven項目時,它會基本上運行在內存中的風暴集羣,任何想法,如果這可能是真的?問題是我在一臺Windows機器上工作。 – Tohmas 2013-02-14 14:18:32

+0

@Tohmas - 這聽起來像上面的maven命令所做的:運行「內存中」模擬風暴羣集(LocalCluster)。在這種情況下,風暴庫將被列爲Maven pom文件中的依賴項(在starter-project的案例中,m2.pom)。如果你有另一個你想使用Storm的項目,你可以將Storm列爲依賴項,就像m2.pom一樣。我建議下載風暴啓動項目,並將其用作模板,以便對項目進行更改。這樣,所有的maven管道都是爲你完成的(pom文件)。 – Jack 2013-02-15 06:41:35

相關問題