- 介绍
- Ack 框架的实现
- 使用 Maven 构建 Storm 应用
- Clojure DSL
- 命令行操作
- Storm 常用模式
- 基础概念
- 配置
- 创建 Storm 新项目
- 定义 Storm 的非 JVM 语言 DSL
- 分布式 RPC
- FAQ 常见问题
- 容错性
- 消息的可靠性保障
- Hooks
- 本地模式
- Metrics
- 多语言接口协议
- 在生产环境中运行拓扑
- 序列化
- 配置开发环境
- Storm 集群安装配置
- Storm 与 Kestrel
- Storm 内部技术实现
- 源码组织结构
- Trident API 概述
- Trident Spouts
- Trident State
- Trident 教程
- 问题与解决
- 教程
- 理解 Storm 拓扑的并行度(parallelism)概念
- 使用非 JVM 语言开发
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
配置
Storm 有大量配置项用于调整 nimbus、supervisors 和拓扑的行为。有些配置项是系统级的配置项,在拓扑中不能修改,另外一些配置项则是可以在拓扑中修改的。
每一个配置项都在 Storm 代码库的 defaults.yaml 中有一个默认值。可以通过在 Nimbus 和 Supervisors 的环境变量中定义一个 storm.yaml 来覆盖默认值。最后,在使用 StormSubmitter 提交拓扑时也可以定义基于具体拓扑的配置项。但是,基于拓扑的配置项仅仅能够覆盖那些以 “TOPOLOGY” 作为前缀的配置项。
Storm 0.7.0 以上版本支持覆写每个 Bolt/Spout 的配置信息。不过,使用这种方式只能修改以下几个配置项:
- "topology.debug"
- "topology.max.spout.pending"
- "topology.max.task.parallelism"
- "topology.kryo.register":由于序列化对拓扑中的所有组件都是可见的,这一项与其他几项稍微有一些不同,详细信息可以参考 Storm 的序列化
Storm 的 Java API 支持两种自定义组件配置信息的方式:
- 内置型:在需要配置的 Spout/Bolt 中覆写
getComponentConfiguration
方法,使其返回特定组件的配置表; - 外置型:
TopologyBuilder
中的setSpout
与setBolt
方法会返回一个带有addConfiguration
方法的ComponentConfigurationDeclarer
对象,通过addConfiguration
方法就可以覆写对应组件的配置项(同时也可以添加自定义的配置信息——译者注)。
配置信息的优先级依次为:defaults.yaml < storm.yaml < 拓扑配置 < 内置型组件信息配置 < 外置型组件信息配置。
相关资料
- Config:此类包含所有可配置项的列表,对于创建拓扑配置信息很有帮助
- defaults.yaml:所有配置项的默认值
- 配置 Storm 集群:说明了如何创建、配置一个 Storm 集群
- 在生产环境中运行拓扑:列出了在集群中运行拓扑的一些有用的配置项
- 本地模式:列出了使用本地模式时比较有用的配置项
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论