一、storm重复消费kafka中的数据
Storm未启用安全模式,因此当kafka中没有新数据时,会默认重复消费已有的数据。此时只需要bolt继承的BaseRichBolt改为BaseBasicBolt即可。
二、storm提交Topology出现如下错误:“Caused by: java.lang.RuntimeException: java.io.IOException: Found multiple defaults.yaml resources. You're probably bundling the Storm jars with your topology jar.
[jar:file:/usr/local/storm/lib/storm-core-0.10.0.jar!/defaults.yaml, jar:file:/usr/local/storm/bin/jstorm-0.0.2.jar!/defaults.yaml]”
原因:jvm执行中发现多个defaults.yaml 。
解决办法:先把pom中storm-core改为 <scope>provided</scope>,并且在打包的时候去除storm-core依赖。
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-core</artifactId>
<version>1.0.2</version>
<scope>provided</scope>
</dependency>
三、启动storm集群
(1)启动supervisor节点
./storm supervisor &
(2)启动 nimbus节点
./storm nimbus &
四、提交storm任务
提交任务: ./storm jar bid.jar cn.sysu.metric.bid.BidTest 192.168.11.91
- bid.jar:提交的jar包
- cn.sysu.metric.bid.BidTest:执行的主类
- 192.168.11.91: nimbus的ip地址