Linux storm 安裝

百聯達發表於2016-01-08
一:背景

zookeeper版本:zookeeper-3.4.7.tar.gz

storm版本:apache-storm-0.9.5.tar.gz

二: 安裝zookeeper

tar -zxvf zookeeper-3.4.7.tar.gz -C /usr/local

cd /usr/local/zookeeper-3.4.7/con

cp zoo_sample.cfg zoo.cfg

配置引數 zoo.cfg



啟動zookeeper

./zkServer.sh start

驗證zookeeper是否正常啟動
./zkCli.sh -server localhost:2182



三:安裝storm

tar -zxvf apache-storm-0.9.5.tar.gz -C /usr/local/

vi /etc/profile  新增環境變數

export STORM_HOME=/usr/local/apache-storm-0.9.5
export PATH=/usr/local/git/bin:${MAVEN_HOME}/bin:${STORM_HOME}/bin:$PATH

source /etc/profile

配置引數 /conf/storm.yaml

1) storm.zookeeper.servers: Storm叢集使用的Zookeeper叢集地址,其格式如下
  storm.zookeeper.servers:
      - "ip1"
      - "ip2"
      - "ip3"

如果Zookeeper叢集使用的不是預設埠,那麼還需要storm.zookeeper.port選項
如: storm.zookeeper.port: 2182

2) storm.local.dir: NimbusSupervisor程式用於儲存少量狀態,如jarsconfs等的本地磁碟目錄,需要提前建立該目錄並給以足夠的訪問許可權。然後在storm.yaml中配置該目錄,如:mkdir -p /data/storm/
如:storm.local.dir: "/data/storm"

3) nimbus.host: Storm叢集Nimbus機器地址,各個Supervisor工作節點需要知道哪個機器是Nimbus,以便下載Topologiesjarsconfs等檔案,
如:nimbus.host: "localhost"

4) supervisor.slots.ports對於每個Supervisor工作節點,需要配置該工作節點可以執行的worker數量。每個worker佔用一個單獨的埠用於接收訊息,該配置選項即用於定義哪些埠是可被worker使用的。預設情況下,每個節點上可執行4workers,分別在6700670167026703埠,
如:

supervisor.slots.ports:
   - 6700
   - 6701
   - 6702
   - 6703

最後的配置結果為:



四:啟動Storm各個後臺程式

Zookeeper一樣,Storm也是快速失敗(fail-fast)的系統,這樣Storm才能在任意時刻被停止,並且當程式重啟後被正確地恢復執行。這也是為什麼Storm不在程式內儲存狀態的原因,即使NimbusSupervisors被重啟,執行中的Topologies不會受到影響。

以下是啟動Storm各個後臺程式的方式:

  1. Nimbus: 在Storm主控節點上執行 "storm nimbus &" 啟動Nimbus後臺程式,並放到後臺執行;
      
  1. Supervisor: 在Storm各個工作節點上執行" storm supervisor &"啟動Supervisor後臺程式,並放到後臺執行;
    
  1. UI: 在Storm主控節點上執行 "storm ui &" 啟動UI後臺程式,並放到後臺執行,啟動後可以透過觀察叢集的worker資源使用情況、Topologies的執行狀態等資訊。
     

    

五:注意事項
  1. Storm後臺程式被啟動後,將在Storm安裝部署目錄下的logs/子目錄下生成各個程式的日誌檔案。
  2. 經測試,Storm UI必須和Storm Nimbus部署在同一臺機器上,否則UI無法正常工作,因為UI程式會檢查本機是否存在Nimbus連結。
  3. 為了方便使用,可以將bin/storm加入到系統環境變數中。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-1973943/,如需轉載,請註明出處,否則將追究法律責任。

相關文章