# Configuration
Storm 具有各種各樣的配置,用于調整 nimbus, supervisors 和運行 topologies(拓撲)的行為. 一些配置是系統配置, 不能在拓撲基礎上對拓撲進行修改, 而每個拓撲可以修改其他配置.
每個配置都有一個定義在 Storm 代碼庫 [defaults.yaml](http://github.com/apache/storm/blob/master%0A/conf/defaults.yaml) 文件中的 default value(默認值). 您可以通過在 Nimbus 按 supervious 的 classpath 中定義一個 storm.yaml 文件以覆蓋那些配置. 最后, 您可以定義一個指定的 topology 配置, 它在使用 [StormSubmitter](javadocs/org/apache/storm/StormSubmitter.html) 時隨著你的 topology 一起提交. 然而, 指定的 topology 配置只能夠覆蓋前綴 "TOPOLOGY" 開始的配置.
Storm 0.7.0 及以上版本允許您以 per-bolt/per-spout 為基礎進行配置覆蓋. 可以通過這種方式覆蓋的唯一配置是:
1. "topology.debug"
2. "topology.max.spout.pending"
3. "topology.max.task.parallelism"
4. "topology.kryo.register": 這與其他工作有點不同, 因為 serializations(序列化將)可用于拓撲中的所有組件. 更多細節請參閱 [序列化](Serialization.html).
Java API 允許您以兩種方式指定組件特定的配置:
1. _Internally(內部的):_ 在任何 spout 或 bolt 中覆蓋 `getComponentConfiguration` 方法, 并返回組件指定的的配置 map.
2. _Externally(外部的):_ `TopSpringBuilder` 中的 `setSpout` 和 `setBolt` 返回一個可以用來覆蓋組件配置的 `addConfiguration` 和`addConfigurations` 方法的對象.
配置值的優先順序是 defaults.yaml < storm.yaml < topology 指定的配置 < internal(內部)組件指定的配置 < external(外部)組件指定的配置.
**Resources:**
* [Config](javadocs/org/apache/storm/Config.html): 所有配置的列表以及用于創建拓撲特定配置的輔助 class(類)
* [defaults.yaml](http://github.com/apache/storm/blob/master%0A/conf/defaults.yaml): 所有配置的默認值
* [部署 Storm 集群](Setting-up-a-Storm-cluster.html): 介紹如何創建和配置 Storm 集群
* [在生產集上運行 topologies(拓撲)](Running-topologies-on-a-production-cluster.html): 在集群上運行拓撲時列出了有用的配置
* [Local(本地)模式](Local-mode.html): 列出使用 local model(本地模式)時的有用配置
- Storm 基礎
- 概念
- Scheduler(調度器)
- Configuration
- Guaranteeing Message Processing
- 守護進程容錯
- 命令行客戶端
- Storm UI REST API
- 理解 Storm Topology 的 Parallelism(并行度)
- FAQ
- Layers on Top of Storm
- Storm Trident
- Trident 教程
- Trident API 綜述
- Trident State
- Trident Spouts
- Trident RAS API
- Storm SQL
- Storm SQL 集成
- Storm SQL 示例
- Storm SQL 語言參考
- Storm SQL 內部實現
- Flux
- Storm 安裝和部署
- 設置Storm集群
- 本地模式
- 疑難解答
- 在生產集群上運行 Topology
- Maven
- 安全地運行 Apache Storm
- CGroup Enforcement
- Pacemaker
- 資源感知調度器 (Resource Aware Scheduler)
- 用于分析 Storm 的各種內部行為的 Metrics
- Windows 用戶指南
- Storm 中級
- 序列化
- 常見 Topology 模式
- Clojure DSL
- 使用沒有jvm的語言編輯storm
- Distributed RPC
- Transactional Topologies
- Hooks
- Storm Metrics
- Storm 狀態管理
- Windowing Support in Core Storm
- Joining Streams in Storm Core
- Storm Distributed Cache API
- Storm 調試
- 動態日志級別設置
- Storm Logs
- 動態員工分析
- 拓撲事件檢查器
- Storm 與外部系統, 以及其它庫的集成
- Storm Kafka Integration
- Storm Kafka 集成(0.10.x+)
- Storm HBase Integration
- Storm HDFS Integration
- Storm Hive 集成
- Storm Solr 集成
- Storm Cassandra 集成
- Storm JDBC 集成
- Storm JMS 集成
- Storm Redis 集成
- Azue Event Hubs 集成
- Storm Elasticsearch 集成
- Storm MQTT(Message Queuing Telemetry Transport, 消息隊列遙測傳輸) 集成
- Storm MongoDB 集成
- Storm OpenTSDB 集成
- Storm Kinesis 集成
- Storm Druid 集成
- Storm and Kestrel
- Container, Resource Management System Integration
- Storm 高級
- 針對 Storm 定義一個不是 JVM 的 DSL
- 多語言協議
- Storm 內部實現
- 翻譯進度