Twitter Storm集羣搭建小結

     最近本身嘗試搭建了一下Twitter Storm的集羣,參考了不少網友的博客,特別是徐明明的;這裏只對本身搭建時的過程和所遇到的問題作一個小總結,方便查閱。 java

     Storm是Twitter開源的一個實時計算框架,它須要依賴Zookeeper,ZeroMQ;同時還須要你的系統環境中有Java和Python。因此整個搭建步驟以下: git

  1. 搭建Zookeeper集羣。
  2. 在控制節點機[ Nimbus ]和工做節點機[ Supervisor ]上安裝相同的環境(ZeroMQ,JZMQ,Java,Python等)
  3. 在控制節點機[ Nimbus ]和工做節點機Supervisor ]上安裝Storm框架
  4. 配置Storm,經過storm.yaml文件
  5. 用命令啓動Storm(須要分別啓動Nimbus、Supervisor、ui)

Zookeeper集羣搭建

     因爲系統環境中已經有同事搭建好了Zookeeper的集羣,因此我沒本身手動實現過,就不作介紹了,直接給出 賤客的一篇博客http://www.oschina.net/question/54100_10242  github

依賴環境的部署

     這節主要介紹ZeroMQ,JZMQ的部署(Java和Python的安裝就不總結了,網上不少) shell

     首先是ZeroMQ:Storm所需的版本是 ZeroMQ 2.1.7,你能夠經過執行以下命令安裝: 服務器

wget http://download.zeromq.org/zeromq-2.1.7.tar.gz
tar -xzf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7
./configure
make
sudo make install
      在這各環節,我出現過一次安裝失敗,以是由於 ./configure會檢查它所依賴的軟件,系統中缺乏uuid,後來安裝了,就經過了。 (命令:sudo apt-get install uuid-dev)


     接下來是JZMQ,它是Java綁定的ZeroMQ,再安裝以前請保證Java已經安裝好了,能夠經過執行以下命令安裝JZMQ
app

git clone https://github.com/nathanmarz/jzmq.git
cd jzmq
./autogen.sh
./configure
make
sudo make install
     這個過程當中,我遇到 autoconf 安裝不全,經過命令(apt-get install autoreconf*)升級後以就經過了,同時./configure時會檢查你的JAVA_HOME是否正確,不正確會報錯,並提示。


Storm的安裝

     從這裏 下載Storm的包,並解壓到你須要安裝的目錄下便可。 框架

Storm的配置

     配置主要是經過storm.yaml文件,對系統中各個組件作說明;如下是Storm中必須有的配置及說明: ui

      1storm.zookeeper.servers :指定Storm系統所使用的Zookeeper的地址 spa

storm.zookeeper.servers:
  - "111.222.333.444"
  - "555.666.777.888"

     2.  storm.local.dir :Storm 的一些配置文件或架包,或日誌存放的地方,注意這個目錄下,你必定要保證你有權限生成文件,不然會報錯,配置以下: .net


storm.local.dir: "/mnt/storm"

     3java.library.path :這是storm所依賴的本地依賴(ZeroMQ和JZMQ)的加載地址, 默認的是:/usr/local/lib:/opt/local/lib:/usr/lib, 大多狀況下是對的,因此你應該不用更改這個配置。 

     4. nimbus.host是控制節點的指定,全部工做機都須要知道誰是控制節點,才能從它那拿Jar包

nimbus.host: "111.222.333.44"
     5.  supervisor.slots.ports : 在工做機上,運行每個進程,都須要有本身的獨立的端口來接受信息,因此這裏,你配置了幾個端口,就代表你工做機上最多能夠有多少個進程。默認是4個,端口能夠本身改


supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703
     最後 若是你還須要瞭解其餘的配置信息能夠看 這裏 ,同時建議你把  ui.port:也配置下,也許你服務器的8080端口已經配佔用,你須要啓動ui來查看Storm運行狀態


ui.port: 8080

啓動Storm

     經過執行以下命令分別啓動Nimbus、Supervisor、ui

storm nimbus
storm supervisor
storm ui
     完成後,你能夠經過 「主機ip : 端口號" 來查看Storm運行狀態(若你執行了storm ui命令,端口號爲 你配置文件 ui.port的值,默認8080)

     最後若是程序出錯,在你storm的解壓目錄下的logs裏, 分別會生成nimbus、supervisor、ui目錄,裏面有各類的日誌文件,用於記錄異常信息,你能夠查閱。

    參考資料:

    Twitter Storm: 搭建storm集羣

    Installing native dependencies

    https://github.com/nathanmarz/storm/blob/master/conf/defaults.yaml

相關文章
相關標籤/搜索