1. 程式人生 > >Apache Storm 官方文件 —— 配置

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 中的 setSpoutsetBolt
    方法會返回一個帶有 addConfiguration 方法的ComponentConfigurationDeclarer 物件,通過 addConfiguration 方法就可以覆寫對應元件的配置項(同時也可以新增自定義的配置資訊——譯者注)。

配置資訊的優先順序依次為:defaults.yaml < storm.yaml < 拓撲配置 < 內建型元件資訊配置 < 外接型元件資訊配置。

相關資料