storm集群部署和配置過程詳解
來源:程序員人生 發布時間:2014-12-29 09:03:48 閱讀次數:3845次
先整體介紹1下搭建storm集群的步驟:
- 設置zookeeper集群
- 安裝依賴到所有nimbus和worker節點
- 下載并解壓storm發布版本到所有nimbus和worker節點
- 配置storm.yaml
- 啟動相干后臺進程
1 首先配置zookeeper集群
我們知道storm通過zookeeper來調和全部集群。zookeeper不是用來做消息傳遞,因此storm不會給zookeeper帶來很大的壓力。單節點的zookeeper在大多情形下是可以勝任的,但是如果你想得到更好的可靠性或部署大集群的話,你可能就需要1個大的zookeeper集群。關于zookeeper的部署在這里就不多做介紹,具體請參考:here。
關于zookeeper的部署這里再補充兩點:
- 把zookeeper運行在1個監督進程之下是非常關鍵的,由于zookeeper是1個fail-fast的進程,當它遇到任何毛病的時候都會自動退出,具體請參考: here
- 定時的去緊縮和轉移zookeeper數據也是非常關鍵的,由于zookeeper不具有緊縮和清楚數據機制,如果我們不設置1個cron管理這些數據,zookeeper產生的數據會很快的占滿磁盤,具體請參考: here
ps:如果zookeeper啟動失敗,查看1下它bin目錄下的zookeeper.out文件,配置1下它的myid試試。
2 安裝依賴到nimbus和worker節點
storm需要依賴的是:
需要注意,storm對大多數版本的依賴都做了測試,但是storm其實不保證對任何版本的依賴都能正常工作。
3 下載解壓storm發布版本到nimbus和worker節點
下1步就是下載解壓storm緊縮文件到每臺機器,storm發布版本可以從這里下載from
here。
4 配置storm.yaml文件
storm里面有1個文件conf/storm.yaml,它就是storm的配置文件。關于這個文件的所有默許值可以從這里得到here。storm.yaml中的配置會覆蓋掉default.yaml中的配置。下面配置1個集群必須修改的配置:
1) storm.zookeeper.servers:配置zookeeper集群的列表
storm.zookeeper.servers:
- "111.222.333.444"
- "555.666.777.888"
如果你的zookeeper集群使用的端口不是默許端口,那末你還得配置storm.zookeeper.port。
2) storm.local.dir :storm的nimbus和work進程需要1個目錄來寄存1小部份狀態數據,比如jars、confs等等。我們需要在每臺機器上創建這個目錄并且賦予其相應的權限。
storm.local.dir: "/mnt/storm"
3) nimbus.host:worker節點需要知道哪一個機器是master節點,以便自己從maser節點下載jars和confs。
nimbus.host: "111.222.333.44"
4) supervisor.slots.ports:對每臺worker機器,它決定了這臺機器1共可以運行多少個worker進程。每一個worker進程會獨占1個端口來接收消息,這個參數就是配置了哪些端口會分配給worker進程。如果你在這配置了5個端口,那末storm將能分配5個worker進程給這臺機器,如果配置3個端口,那末storm也只能分配3個worker進程。storm默許分配4個worker進程到6700,6701,6702,6703端口。比如:
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
5 通過storm命令運行storm相干的守護進程
最后1步就是啟動所有storm相干守護進程。固然,把這些進程都納入到監督進程管理之下是很有必要的。storm也是1個fail-fast系統,這就意味著這些進程1但遇到異常就會終止。storm之所以會這么設計,是為了它可以在任什么時候候安全的終止和在進程重啟的時候恢復。這就是storm為不在進程中保存相干狀態的緣由,如果nimbus或supervisor節點重啟,運行著的topoloies不會遭到任何影響。下面就是啟動storm相干進程的命令:
- Nimbus:在master節點運行“bin/storm nimbus”
- Supervisor:在每臺worker節點運行“bin/storm supervisor”,supervisor進程負責在worker節點上啟動和停止相應的worker進程
- UI:運行“bin/storm ui” ,1個通過頁面管理和展現storm集群運行狀態的工具,可以通過“http://nimbus host:8080”來訪問。
我們可以看到啟動storm服務進程相當簡單直接,storm產生的log會保存在各臺機器的storm/logs目錄中,storm通過logback管理它的日志,我們可以通過修改其logback.xml文件來改變其log的目錄及內容。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈