storm是Twitter開源的分散式實時大數據處理框架,被業界稱為實時版Hadoop。隨著越來越多的場景對Hadoop的MapReduce高延遲無法容忍,比如網站統計、推薦系統、預警系統、金融系統等, 大數據實時處理解決方案的應用日趨廣泛,目前已是分散式技術領域最新爆發點,而Storm更是流計算技術中的佼佼者和主流。

一般來說spout/bolt的生命週期如下:

1 、在提交了一個topology之後(在nimbus所在的機器),創建spout/bolt實例(spout/bolt在storm中統稱為component)並進行序列化;

2、將序列化的component發送給所有的任務所在的機器;

3、在每一個任務上反序列化component;

4、在開始執行任務之前, 先執行component的初始化方法(bolt是prepare, spout是open);

因此component的初始化操作應該在prepare/open方法中進行,而不是在實例化component的時候進行。


推薦閱讀:
相關文章