Storm入门(八)Storm实战常见问题总结(持续更新)

时间:2021-08-05 17:38:30

一、本地环境log级别设置问题

storm-core-1.1.0.jar下面有个log4j2.xml文件,默认log级别是info。

Storm入门(八)Storm实战常见问题总结(持续更新)
<configuration monitorInterval="60">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%-4r [%t] %-5p %c{1.} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="org.apache.zookeeper" level="WARN"/>
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</configuration>
Storm入门(八)Storm实战常见问题总结(持续更新)

可以maven工程main/resources下面新建一个log4j2.xml文件,调整log级别。

Storm入门(八)Storm实战常见问题总结(持续更新)
<configuration monitorInterval="60">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%-4r [%t] %-5p %c{1.} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="org.apache.zookeeper" level="WARN"/>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</configuration>
Storm入门(八)Storm实战常见问题总结(持续更新)

二、IRichBolt和IBasicBolt/BaseBasicBolt对比

对于spout,有ISpout,IRichSpout,BaseRichSpout

对于bolt,有IBolt,IRichBolt,BaseRichBolt,IBasicBolt,BaseBasicBolt

IBasicBolt,BaseBasicBolt不用每次execute完成都写ack/fail,因为已经帮你实现好了。

三、配置

storm里面有一堆参数可以配置来调整nimbus, supervisor以及正在运行的topology的行为, 一些配置是系统级别的, 一些配置是topology级别的。所有有默认值的配置的默认配置是配置在default.xml里面的。你可以通过定义个storm.xml在你的 classpath厘米来覆盖这些默认配置。并且你也可以在代码里面设置一些topology相关的配置信息  – 使用StormSubmitter。当然,这些配置的优先级是: default.xml < storm.xml < TOPOLOGY-SPECIFIC配置。