storm是乙個分布式實時計算系統,storm對於實時計算的意義就相當於hadoop對於批量計算的意義。對於實時性較高的系統storm是不錯的選擇。hadoop提供了map, reduce原語,使批處理程式變得非常地簡單和優美。同樣,storm也為實時計算提供了一些簡單優美的原語。
涉及的術語說明:
nimbus:storm集群的主控節點,負責在storm集群內分發**,分配任務給工作機器,並且負責監控集群執行狀態。其程序名為nimbus。
supervisor:supervisor負責監聽從nimbus分配給它執行的任務,據此啟動或停止執行任務的工作程序。其程序名為supervisor。
core:storm的ui服務程序。
安裝部署前的準備工作:
1. 配置各主機ip,將各主機ip配置為靜態ip(保證各主機可以正常通訊,為避免過多的網路傳輸,建議在同一網段)。
2. 修改各主機名,storm集群中的所有主機都需要修改。
3. 配置各主機對映,修改hosts檔案,加入各主機ip和主機名的對映。
4. 開放相應埠,後面文件中配置的埠都需要開放(或者關閉防火牆)。
5. python2.7及以上版本。
6. 保證zookeeper集群服務正常執行。如果在centos上安裝過hadoop或者zookeeper的話,1-5項基本沒問題。關於zookeeper參考:
7. 這裡使用的jdk、storm版本分別為1.8和0.9.5。
2. 解壓安裝包
tar -xvzf apache-storm-0.9.5.tar.gz3. 修改storm.yaml配置檔案
vim conf/storm.yamlstorm集群使用的zookeeper集群位址,根據實際情況進行修改。
storm.zookeeper.servers:zookeeper的埠不是預設埠時需要配置引數:- "node1
" - "
node2
" - "
node3
"
storm.zookeeper.port: "nimbus和supervisor程序用於儲存少量狀態,如jars、confs等的本地磁碟目錄,需要提前建立該目錄(根據實際情況建立)並給以足夠的訪問許可權。修改的埠
"
storm.local.dir: "/usr/storm/data
"
nimbus.host: "對於每個supervisor工作節點,需要配置該工作節點可以執行的worker數量。每個worker占用乙個單獨的埠用於接收訊息,該配置選項即用於定義哪些埠是可被worker使用的。預設情況下,每個節點上可執行4個workers,分別在6700、6701、6702和6703埠。根據實際情況進行修改。node3
"
supervisor.slots.ports:drpc提供了集群中處理功能的訪問介面,- 6700
- 6701
- 6702
storm集群drpc位址,根據實際情況進行修改。關於drcp參考:
drpc.servers:預設情況下,storm啟動worker程序時,jvm的最大記憶體是768m。由於在使用過程中,bolt中載入大量資料,768m記憶體無法滿足要求,會導致記憶體溢位。根據實際情況進行修改。- "node3
"
worker.childopts: "1. 在主控節點啟動nimbus服務-xmx1024m
"
bin/storm nimbus >> /dev/null &檢視nimbus服務是否啟動:
2.在各個節點啟動supervisor服務
bin/storm supervisor >> /dev/null &3.啟動drpc服務
bin/storm drpc >> /dev/null &4.在主控節點啟動storm ui服務
bin/storm ui >> /dev/null &檢視ui服務是否啟動:
訪問storm ui
執行以下命令,啟動storm topology:
bin/storm jar test.jar com.test.mytopology arg1 arg2其中,test.jar是包含topology實現**的jar包,com.test.mytopology的main方法是topology的入口,arg1和arg2為com.test.mytopology執行時需要傳入的引數。
停止storm topology:
bin/storm kill其中,為topology提交到storm集群時指定的topology任務名稱。
簡單的storm集群就部署好了,可以開始愉快的storm之旅了!
Storm集群部署
storm集群部署 1 所有的集群上都要配置hosts vi etc hosts 192.168.33.201 storm1 hadoop1 zk1 192.168.33.202 storm2 hadoop2 zk2 192.168.33.203 storm3 hadoop3 zk3 2 集群部署的...
Storm 二 Storm集群部署
集群部署的基本流程 集群部署的基礎環境準備 storm集群部署 storm集群的常用操作命令 storm集群的程序及日誌檢視 注意 所有的集群上都需要配置hosts vi etc hosts 192.168.239.128 storm01 zk01 hadoop01 192.168.239.129 ...
Storm集群安裝與部署
1 三颱虛擬機器 192.168.1.128 nimbus 192.168.1.131 supervisor 192.168.1.132 supervisor 2 jdk1.8 3 zookeeper3.4.10 4 storm 1.1.1 1 配置storm ps 三颱機器的配置都是這樣的 sto...