apachestorm中maven在本地集群中运行的单词计数

0kjbasz6  于 2021-06-21  发布在  Storm
关注(0)|答案(1)|浏览(280)

我试着照本宣科
http://my.safaribooksonline.com/9781449324025?iid=2013-12-blog-storm-book-9781449324025-sboblog
运行storm cluster并创建第一个拓扑。这些是我遵循的步骤
1) 安装maven
2) 已为eclipse安装maven插件
3) 在eclipse中创建新的maven项目,工件名称为stormartifact
4) 它生成了一个文件夹结构和一个pom.xml文件
5) 我更新了pom.xml如下。
6) 我添加了喷口和螺栓在这个链接中指定
https://github.com/storm-book/examples-ch02-getting_started/zipball/master
7) 现在我用命令运行它

  1. mvn exec:java -Dexec.mainClass="TopologyMain" -Dexec.args="src/main/resources/words.txt"

但它抛出了如下错误

  1. [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3:java (def
  2. ault-cli) on project stormArtifact: The parameters 'mainClass' for goal org.code
  3. haus.mojo:exec-maven-plugin:1.3:java are missing or invalid -> [Help 1]
  4. [ERROR]
  5. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
  6. ch.
  7. [ERROR] Re-run Maven using the -X switch to enable full debug logging.
  8. [ERROR]
  9. [ERROR] For more information about the errors and possible solutions, please rea
  10. d the following articles:
  11. [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginParamete
  12. rException

我的pom.xml

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  4. http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>stormGroup</groupId>
  7. <artifactId>stormArtifact</artifactId>
  8. <version>0.0.1-SNAPSHOT</version>
  9. <build>
  10. <plugins>
  11. <plugin>
  12. <groupId>org.apache.maven.plugins</groupId>
  13. <artifactId>maven-compiler-plugin</artifactId>
  14. <version>2.3.2</version>
  15. <configuration>
  16. <source>1.7</source>
  17. <target>1.7</target>
  18. <compilerVersion>1.7</compilerVersion>
  19. </configuration>
  20. </plugin>
  21. </plugins>
  22. </build>
  23. <repositories>
  24. <!-- Repository where we can found the storm dependencies -->
  25. <repository>
  26. <id>clojars.org</id>
  27. <url>http://clojars.org/repo</url>
  28. </repository>
  29. </repositories>
  30. <dependencies>
  31. <!-- Storm Dependency -->
  32. <dependency>
  33. <groupId>storm</groupId>
  34. <artifactId>storm</artifactId>
  35. <version>0.9.0</version>
  36. </dependency>
  37. </dependencies>
  38. </project>

toplogymain类

  1. import spouts.WordReader;
  2. import backtype.storm.Config;
  3. import backtype.storm.LocalCluster;
  4. import backtype.storm.topology.TopologyBuilder;
  5. import backtype.storm.tuple.Fields;
  6. import bolts.WordCounter;
  7. import bolts.WordNormalizer;
  8. public class TopologyMain {
  9. public static void main(String[] args) throws InterruptedException {
  10. //Topology definition
  11. TopologyBuilder builder = new TopologyBuilder();
  12. builder.setSpout("word-reader",new WordReader());
  13. builder.setBolt("word-normalizer", new WordNormalizer())
  14. .shuffleGrouping("word-reader");
  15. builder.setBolt("word-counter", new WordCounter(),1)
  16. .fieldsGrouping("word-normalizer", new Fields("word"));
  17. //Configuration
  18. Config conf = new Config();
  19. conf.put("wordsFile", args[0]);
  20. conf.setDebug(false);
  21. //Topology run
  22. conf.put(Config.TOPOLOGY_MAX_SPOUT_PENDING, 1);
  23. LocalCluster cluster = new LocalCluster();
  24. cluster.submitTopology("Getting-Started-Toplogie", conf, builder.createTopology());
  25. Thread.sleep(1000);
  26. cluster.shutdown();
  27. }
  28. }
nx7onnlm

nx7onnlm1#

我也遇到了同样的问题,但我首先在本地机器上安装了storm二进制发行版,然后运行 mvn package 我的主要任务是指挥 pom.xml .
成功了!
如果您使用的是storm的最新开发版本,例如通过克隆storm git存储库,那么您必须首先执行storm本身的本地构建

相关问题