storm配置概览

Storm拥有多种配置来调整nimbus,supervisors的行为以及运行topologies。其中有些属于系统配置,我们无法在topology层面上进行更改(就是说有些系统配置我们是不能通过代码来改的),其他的一些配置我们则可以通过在每个topology中调用相应的接口来设置。

每个配置通过defaults.yaml设置默认值。我们可以通过在Nimbus以及supervisors中的classpath定义一个storm.yaml来重写这些配置。最后,我们可以定义对于单个特定topology适用的配置,将该配置通过StormSubmitter与我们的topology一起提交。注意,对于单个特定的topology的配置,我们只能重写前缀是"TOPOLOGY"的配置类(?)

Storm0.7.0及后续版本,将会允许我们在每个bolt/spout上重写配置。只有下列的一些配置可以以这种方式重写:

1."topology.debug"

2."topology.max.spout.pending"

3."topology.max.task.parallelism"

4."topology.kryo.register":这一个可能与其他几个不太一样,因为在topology中所有部分都支持序列化。要了解更多信息请看 Serialization

Java API让我们有两种方式可以对特定的部分进行特定的配置:

1.内部:在任意spout/bolt中调用getComponentConfiguration方法,将返回该组件(spout或者bolt)特有的配置映射。

2.外部:TopologyBuilder中的setSpout以及setBolt方法会返回一个拥有addConfiguration以及addConfigurations的方法,这两个方法可以用来重写各个组件的配置.


配置的优先级为:defaults.yaml<storm.yaml<特定topology配置(topology specific configuration)<特定内部组件配置(internal component specific configuration)<特定外部组件配置(external component specific configuration)。


相关资源:

·Config:包含所有的配置以及一个辅助类用来创建特定topology配置

·defaults.yaml:所有配置的默认值

·Setting up a Storm cluster:解释如何创建和配置一个Storm集群

·Running topologies on a production cluster: 列出了在集群上运行topologies时有用的配置

·Local mode:列出了在本地模式时,有用的配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值