storm集群部署和配置過程詳解
阿新 • • 發佈:2017-06-13
多少 帶來 進程 創建 使用 命令 介紹 aml 可能
下一步就是下載解壓storm壓縮文件到每一臺機器,storm發布版本可以從這裏下載from here。
---恢復內容開始---
先整體介紹一下搭建storm集群的步驟:- 設置zookeeper集群
- 安裝依賴到所有nimbus和worker節點
- 下載並解壓storm發布版本到所有nimbus和worker節點
- 配置storm.yaml
- 啟動相關後臺進程
1 配置zookeeper集群
我們知道storm通過zookeeper來協調整個集群。zookeeper不是用來做消息傳遞,因此storm不會給zookeeper帶來很大的壓力。單節點的zookeeper在大多情形下是可以勝任的,但是如果你想得到更好的可靠性或者部署大集群的話,你可能就需要一個大的zookeeper集群。關於zookeeper的部署在這裏就不多做介紹,具體請參考:here。 關於zookeeper的部署這裏再補充兩點:- 把zookeeper運行在一個監督進程之下是非常關鍵的,因為zookeeper是一個fail-fast的進程,當它遇到任何錯誤的時候都會自動退出,具體請參考: here
- 定時的去壓縮和轉移zookeeper數據也是非常關鍵的,因為zookeeper不具備壓縮和清楚數據機制,如果我們不設置一個cron管理這些數據,zookeeper產生的數據會很快的占滿磁盤,具體請參考: here
2 安裝依賴到nimbus和worker節點
storm需要依賴的是:- Java 6
- Python 2.6.6
3 下載解壓storm發布版本到nimbus和worker節點
4 配置storm.yaml文件
storm裏面有一個文件conf/storm.yaml,它就是storm的配置文件。關於這個文件的所有默認值可以從這裏得到here。storm.yaml中的配置會覆蓋掉default.yaml中的配置。下面配置一個集群必須修改的配置: 1) storm.zookeeper.servers:配置zookeeper集群的列表- storm.zookeeper.servers:
- - "111.222.333.444"
- - "555.666.777.888"
- storm.local.dir: "/mnt/storm"
- nimbus.host: "111.222.333.44"
- supervisor.slots.ports:
- - 6700
- - 6701
- - 6702
- - 6703
5 通過storm命令運行storm相關的守護進程
最後一步就是啟動所有storm相關守護進程。當然,把這些進程都納入到監督進程管理之下是很有必要的。storm也是一個fail-fast系統,這就意味著這些進程一但遇到異常就會終止。storm之所以會這麽設計,是為了它可以在任何時候安全的終止和在進程重啟的時候恢復。這就是storm為不在進程中保存相關狀態的原因,如果nimbus或supervisor節點重啟,運行著的topoloies不會受到任何影響。下面就是啟動storm相關進程的命令:- Nimbus:在master節點運行“bin/storm nimbus”
- Supervisor:在每一臺worker節點運行“bin/storm supervisor”,supervisor進程負責在worker節點上啟動和停止相應的worker進程
- UI:運行“bin/storm ui” ,一個通過頁面管理和展示storm集群運行狀態的工具,可以通過“http://nimbus host:8080”來訪問。
---恢復內容結束---
storm集群部署和配置過程詳解