閱讀32 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Apache Storm 官方文檔 —— 配置

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 中的 setSpout 與 setBolt 方法會返回一個帶有 addConfiguration 方法的ComponentConfigurationDeclarer對象,通過 addConfiguration 方法就可以覆寫對應組件的配置項(同時也可以添加自定義的配置信息——譯者注)。

配置信息的優先級依次為:defaults.yaml < storm.yaml < 拓撲配置 < 內置型組件信息配置 < 外置型組件信息配置。

相關資料

最後更新:2017-05-22 15:03:07

  上一篇:go  Apache Storm 官方文檔 —— 基礎概念
  下一篇:go  Apache Storm 官方文檔 —— 消息的可靠性保障