2015-04-28 117 views
0

我正在關注https://github.com/apache/storm/tree/master/examples/storm-starter。我在我的VMWare上使用Ubuntu 14.04 LTS。沒有問題的java順利-D storm.topology = storm.starter.RollingTopWords在/家庭/用戶/風暴/示例/風暴起動目錄:Ubuntu Apache Storm jar錯誤:無法找到或加載主類storm.starter

我可以運行MVN EXEC鍵。但是我無法在Apache Storm中運行它。

我在/家庭/用戶/風暴/例子/風暴啓動目錄有風暴起動器拓撲-0.9.3.jar。 我也有風暴起動0.9.3.ja [R & 風暴啓動-0.9.3-JAR-與-dependencies.jar在我/家庭/用戶/風暴/例子/風暴起動/目標目錄。

下面是我在/家庭/用戶/風暴/ bin中嘗試過的命令目錄:

./storm jar storm-starter-*.jar storm.starter.RollingTopWords 

./storm jar storm-starter-0.9.3-jar-with-dependencies.jar storm.starter.RollingTopWords 

./storm jar storm-starter-jar-with-dependencies.jar storm.starter.RollingTopWords 

./storm jar storm-starter-topologies-0.9.3.jar storm.starter.RollingTopWords 

與拓撲名稱:

./storm jar storm-starter-0.9.3-jar-with-dependencies.jar storm.starter.RollingTopWords slidingWindowCounts 

./storm jar storm-starter-jar-with-dependencies.jar storm.starter.RollingTopWords slidingWindowCounts 

./storm jar storm-starter-topologies-0.9.3.jar storm.starter.RollingTopWords slidingWindowCounts 

./storm jar storm-starter-0.9.3-jar storm.starter.RollingTopWords slidingWindowCounts 

全部結束了同樣的錯誤: 錯誤:無法找到或加載主類storm.starter.RollingTopWords。

我所有的類是在/家庭/用戶/風暴/例子/風暴起動/目標/班/風暴/起動目錄 的RollingTopWords.class出現在該目錄中。

我應該如何解決這個問題?詳細的解決方案將會有所幫助。

+0

問題解決。出現這個問題的原因是風暴罐在不正確的目錄下運行。它應該在/ home/user/storm/examples/storm-starter/target目錄下運行,因爲我的storm-starter-0.9.3-jar-with-dependencies.jar位於該目錄中。 – Toshihiko

回答

1

問題解決。出現這個問題的原因是風暴罐在不正確的目錄下運行。它應該在/ home/user/storm/examples/storm-starter/target目錄下運行,因爲我的storm-starter-0.9.3-jar-with-dependencies.jar位於該目錄中。

0

試試這個,假設你是內線強攻根文件夾即你的情況(/home/user/storm/bin

storm jar /path/to/storm-starter-*.jar storm.starter.RollingTopWords <topology-name> remote 

/path/to/storm-starter-*.jar應該在你的系統的實際路徑所取代。 這裏基本上<topology-name> & remote參數是提供給風暴的兩個參數(這是可選的)。

如果你只運行(不帶參數)

storm jar /path/to/storm-starter-*.jar storm.starter.RollingTopWords 

它將承擔拓撲slidingWindowCounts的,你可以通過你選擇的任何名稱與任何有效的字符串替換<topology-name>改變這個名字。
最後一個參數remote告訴storm在羣集中運行這個,如果你不提供這個參數,它將以本地模式運行它。

請記住,參數是特定於此特定拓撲的,並且對其他人無效。看看RollingTopWords topology你會看到它完全取決於開發人員配置你的代碼接受外部參數或硬編碼它。

+0

您是否指定了storm-starter的完整路徑 - *。jar? – user2720864

+0

不,我沒有嘗試,而是我去的路徑和執行風暴jar命令,現在它的工作。問題解決了。 – Toshihiko

相關問題