storm如何本地运行(Local)?

代码:

conf.setMaxTaskParallelism(1);

LocalCluster cluster = new LocalCluster();

cluster.submitTopology("srslog", conf, builder.createTopology());

Thread.sleep(180000);

cluster.killTopology("storm-mobile1");

cluster.shutdown();

运行报错:

storm java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class

原因分析:

The collection API is different between Scala 2.10 and 2.11

Scala 2.10 - kafka_2.10-0.10.2.1

Scala 2.12 - kafka_2.12-0.10.2.1

<dependency>

<groupid>org.apache.kafka/<groupid>

<artifactid>kafka_2.10/<artifactid>

<version>0.10.2.1/<version>

<dependency>

<groupid>org.scala-lang/<groupid>

<artifactid>scala-library/<artifactid>

<version>2.10.6/<version>

测试ok 从2.11 降低到2.10

说明:具体kafka那个版本 是看出错日志 根据我是根据官方文档 下载的