1. 程式人生 > >Storm 快速安裝及部署示例

Storm 快速安裝及部署示例

本文提供最簡單快速的安裝示例:

Storm依賴zookeeper和Python環境,具體安裝步驟不再列出,只簡單介紹Storm的安裝過程。

1,Linux環境下載storm(版本0.10.0)

2,解壓

tar -zxvf apache-storm-0.10.0.tar.gz

3,編輯配置檔案

vi conf/storm.yaml

//這是一個為Storm叢集服務的Zookeeper叢集的主機列表,它的配置應該類似於:
storm.zookeeper.servers:
- “zookeeperIp01”
- “zookeeperIp02”
- “zookeeperIp03”

//nimbus 節點
nimbus.host: “nimbusIp”

//supervisor 埠
對於每個工作節點,可以通過該配置項來設定該節點上執行多少個worker。每個worker使用一個埠接收訊息,此設定定義為使用哪些埠是開啟的。如果在這裡定義5個埠,然後Storm將分配5個Worker在這臺主機上執行。如果定義3個埠,Storm只會分配3個worker。此設定預設為在埠6700、6701、6702和6703上配置執行4個worker,如下:
supervisor.slots.ports:
-6700
-6701
-6702
-6703

本示例是 nimbus和supervisor節點部署在同一臺機器上。
關於storm的屬性配置,開頭都要保留一個空格,不要用tab鍵。

此配置檔案在各個節點上都是相同的,具體那個服務節點承擔什麼角色要看節點上啟動的服務是什麼,如下命令

4,啟動服務

bin/storm nimbus >/dev/null 2>&1 &
bin/storm supervisor >/dev/null 2>&1 &
bin/storm ui >/dev/null 2>&1 &

其中 storm ui 啟動後,可以通過http://{nimbus host}:8080觀察叢集的worker資源使用情況、Topologies的執行狀態等資訊。而且storm ui必須和storm nimbus部署在同一臺機器上,否則UI無法正常工作。

5,向叢集中提交拓撲

可以直接執行storm目錄下的例項程式來看一下效果:
bin/storm jar ../examples/storm-starter/storm-starter-topologies-0.10.0.jar storm.starter.WordCountTopology |grep ‘Thread-[0-9]*-count’
打印出的日誌就是每個bolt執行後的結果,這是相當於本地執行,實際上並沒有想叢集中提交拓撲,真正提交叢集拓撲是這樣的

bin/storm jar ../examples/storm-starter/storm-starter-topologies-0.10.0.jar storm.starter.WordCountTopology word-count
這時會向叢集中提交一個名字為 word-count的拓撲,這個拓撲已經提交,就會在後臺一直執行,除非手動kill掉這個拓撲,此時,可以檢視 log目錄下的日誌:
tail -f word-count-XX-XXXXXX-worker-XXX.log
此時發現這個拓撲會在後臺一直執行進行單詞的個數統計。