返回介绍

配置

发布于 2024-10-06 22:12:04 字数 5731 浏览 0 评论 0 收藏 0

Storm 有大量配置项用于调整 nimbus、supervisors 和拓扑的行为。有些配置项是系统级的配置项,在拓扑中不能修改,另外一些配置项则是可以在拓扑中修改的。

每一个配置项都在 Storm 代码库的 defaults.yaml 中有一个默认值。可以通过在 Nimbus 和 Supervisors 的环境变量中定义一个 storm.yaml 来覆盖默认值。最后,在使用 StormSubmitter 提交拓扑时也可以定义基于具体拓扑的配置项。但是,基于拓扑的配置项仅仅能够覆盖那些以 “TOPOLOGY” 作为前缀的配置项。

Storm 0.7.0 以上版本支持覆写每个 Bolt/Spout 的配置信息。不过,使用这种方式只能修改以下几个配置项:

  1. "topology.debug"
  2. "topology.max.spout.pending"
  3. "topology.max.task.parallelism"
  4. "topology.kryo.register":由于序列化对拓扑中的所有组件都是可见的,这一项与其他几项稍微有一些不同,详细信息可以参考 Storm 的序列化

Storm 的 Java API 支持两种自定义组件配置信息的方式:

  1. 内置型:在需要配置的 Spout/Bolt 中覆写 getComponentConfiguration 方法,使其返回特定组件的配置表;
  2. 外置型:TopologyBuilder 中的 setSpoutsetBolt 方法会返回一个带有 addConfiguration 方法的 ComponentConfigurationDeclarer 对象,通过 addConfiguration 方法就可以覆写对应组件的配置项(同时也可以添加自定义的配置信息——译者注)。

配置信息的优先级依次为:defaults.yaml < storm.yaml < 拓扑配置 < 内置型组件信息配置 < 外置型组件信息配置。

相关资料

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文