原文链接:http://storm.apache.org/releases/1.0.2/Configuration.html
本人原创翻译,转载请注明出处
Storm有多种配置选项来调整nimbus, supervisors, 和运行中topologies的行为。有的配置是系统配置,不能在topology层面修改。在Storm代码库的defaults.yaml中,每个配置都有一个默认值。你可以定义storm.yaml来覆盖默认配置,这个文件要放到Nimbus和Supervisors的classpath下。最后,你可以在用StormSubmitter提交topology的时候定义topology级别的配置。但是,topology级别的配置只能覆盖"TOPOLOGY"前缀的配置。
Storm 0.7.0及之前的版本允许你覆盖bolt或spout级别的配置,只有以下几种配置可以这样做:
1."topology.debug"
2."topology.max.spout.pending"
3."topology.max.task.parallelism"
4."topology.kryo.register": This works a little bit differently than the other ones, since the serializations will be available to all components in the topology. More details on Serialization.
Java API支持两种方式来配置组件:
1.内部:在任何spout或bolt中重写getComponentConfiguration,返回组件级别配置的map。
2.外部:在TopologyBuilder的setSpout和setBolt中返回一个包含addConfiguration、addConfigurations方法的对象,可以用来覆盖组件的配置。
配置的优先顺序是:defaults.yaml < storm.yaml < topology specific configuration < internal component specific configuration < external component specific configuration.
网友评论