天天看點

《Storm分布式實時計算模式》——2.4 把toplogy送出到叢集中

本節書摘來自華章計算機《storm分布式實時計算模式》一書中的第2章,第2.4節,作者:(美)p. taylor goetz brian o’neill 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

現在我們已經有一個正在運作的storm叢集了,讓我們回顧一下前面說的單詞計數的例子,然後使之能夠像本地模式一樣運作在叢集環境。前面的例子使用localcluster類将topology運作在本地模式:

《Storm分布式實時計算模式》——2.4 把toplogy送出到叢集中

https://yqfile.alicdn.com/63d28581ae69e11343f78f3caa0f0ee1cb98b094.png" >

送出一個topology到遠端叢集非常簡單,隻需要使用stormsubmitter類中同樣的方法和名稱:

《Storm分布式實時計算模式》——2.4 把toplogy送出到叢集中

https://yqfile.alicdn.com/77a3a8ff944227119cb8e9fae77ea90535bc93dd.png" >

當開發一個storm的topology時,通常不想在本地/遠端叢集模式之間切換部署時修改代碼和重新編譯。标準的方法是使用一個if/else的條件塊,使用指令行參數來決定使用哪種模式,當指令行不帶參數時,使用本地模式,反之當使用topology名稱做參數時,使用遠端叢集模式,如下所示:

《Storm分布式實時計算模式》——2.4 把toplogy送出到叢集中
《Storm分布式實時計算模式》——2.4 把toplogy送出到叢集中

https://yqfile.alicdn.com/e6135171e8b49a47604df8fa03f9975deadae0e7.png" >

為了更新單詞計數程式到運作中的叢集,首先在第2章的代碼目錄執行maven的編譯指令:

《Storm分布式實時計算模式》——2.4 把toplogy送出到叢集中

然後,執行storm jar指令來釋出topology:

《Storm分布式實時計算模式》——2.4 把toplogy送出到叢集中

當指令執行完畢時,你應該看到topology在storm ui裡已經激活,并且可以點選topology的名稱來檢視詳情和topology的統計資訊,如圖2-4所示。

《Storm分布式實時計算模式》——2.4 把toplogy送出到叢集中

繼續閱讀