# 守護進程容錯
Storm 有幾個不同的守護進程. 調度 workers 的 Nimbus, 啟動和殺死 workers 的 supervisors, 可以訪問日志的 log viewer(日志查看器)以及顯示集群狀態 UI.
## 當一個 worker 掛掉時會發生什么?
當一個 worker 掛掉時, supervisor 將會重啟它. 如果在啟動它時繼續發生故障并且沒有發送 hearbeat(心跳)給 Nimbus, 那么 Nimbus 將會重新調度 worker.
## 當一個 node(節點)掛掉時會發生什么?
分配給該機器的 task(任務)將超時, Nimbus 將這些 task(任務)重新分配給其他機器.
## 當 Nimbus 或 Supervisor 掛掉時會發生什么?
Nimbus 和 Supervisor 守護進程是為 fail-fast(快速失敗)(遇到任何意外情況時進程自毀)和無狀態(所有狀態都保存在 Zookeeper 或磁盤上)而設計的. 像 [部署 Storm 集群](Setting-up-a-Storm-cluster.html) 中描述的一樣, Nimbus 和 Supervisor 守護進程必須使用 daemontools 或 monit 工具進行監督. 所以如果 Nimbus 或 Supervisor 守護進程掛掉后, 它們會像什么都沒發生一樣重啟.
最值得注意的是, 沒有 worker 進程受到 Nimbus 或 Supervisors 掛掉的影響. 這與 Hadoop 相反, 如果 JobTracker 掛掉, 所有正在運行的 job 作業都將丟失.
## Nimbus 是單點故障的嗎?
如果你失去了 Nimbus 節點, workers 仍然會繼續工作. 此外,supervisors 如果掛掉, 將繼續重新啟動 workers. 但是,如果沒有 Nimbus,worker 在必要時不會重新分配給其他機器(如失去 worker 機器).
Storm Nimbus 自 1.0.0 以來是 highly available(高可用的). 更多信息請參閱 [Nimbus HA 高可用設計](nimbus-ha-design.html) 文檔.
## Storm 是如何保證數據處理的?
Storm 提供了保證數據處理的機制, 即使節點掛掉或 messages(消息)丟失. 更多細節請參閱 [保證消息處理](Guaranteeing-message-processing.html).
- 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 內部實現
- 翻譯進度