Storm0.8.2環境在CentOS下搭建教程

來源:互聯網
上載者:User

Storm是需要依賴Zookeeper,ZeroMQ;同時還需要你的系統內容中有Java和Python。所以整個搭建步驟如下:

1. 搭建Zookeeper叢集。
2. 在控制節點機[ Nimbus ]和工作節點機[ Supervisor ]上安裝相同的環境(ZeroMQ,JZMQ,Java,Python等)
3. 在控制節點機[ Nimbus ]和工作節點機[ Supervisor ]上安裝Storm架構
4. 配置Storm,通過storm.yaml檔案
5. 用命令啟動Storm(需要分別啟動Nimbus、Supervisor、ui)


1. 搭建Zookeeper

由於 storm並不用zookeeper來傳遞訊息。所以zookeeper上的負載是非常低的,單個節點的zookeeper在大多數情況下都已經足夠了,因此這裡我們搭建單節點zookeeper。
下載最新版3.4.5:http://zookeeper.apache.org/releases.html#download
解壓,在conf下增加設定檔zoo.cfg,可參考zoo-sample.cfg的配置修改,主要修改dataDir路徑位置

啟動zookeeper:

bin/zkServer.sh start

啟動後,可通過:

bin/zkCli.sh -server 127.0.0.1:2181

驗證啟動狀況和用戶端串連狀況

2、搭建ZeroMq2.1.7版:
官方提到,不要安裝2.1.0版,如果使用2.1.7版遇到問題,可嘗試降級到2.1.4版本。
下載:http://download.zeromq.org/
解壓後,在目錄中執行:

shell/>./configure


遇到uuid-dev的錯誤,說明需要安裝uuid包:
在ubuntu下安裝uuid-dev,在centos上安裝:

yum install libuuid-devel.x86_64

然後再執行configure即可。
然後:

make
sudo make install

3、安裝JZMQ
下載:https://codeload.github.com/nathanmarz/jzmq/zip/master
解壓後執行:

./autogen.sh
./configure
make
sudo make install

./configure時會檢查你的JAVA_HOME是否正確,不正確會報錯,並提示。

4、安裝Storm

下載:https://github.com/nathanmarz/storm
解壓,配置storm.yaml設定檔。主要配置:
1) storm.zookeeper.servers: Storm叢集使用的Zookeeper叢集地址,其格式如下:
storm.zookeeper.servers:
  - "111.222.333.444"
  - "555.666.777.888"
如果Zookeeper叢集使用的不是預設連接埠,那麼還需要storm.zookeeper.port選項。
2) storm.local.dir: Nimbus和Supervisor進程用於儲存少量狀態,如jars、confs等的本地磁碟目錄,需要提前建立該目錄並給以足夠的存取權限。然後在storm.yaml中配置該目錄,如:
storm.local.dir: "/home/admin/storm/workdir"
3) java.library.path: Storm使用的本地庫(ZMQ和JZMQ)載入路徑,預設為"/usr/local/lib:/opt/local/lib:/usr/lib",一般來說ZMQ和JZMQ預設安裝在/usr/local/lib 下,因此不需要配置即可。
4) nimbus.host: Storm叢集Nimbus機器地址,各個Supervisor工作節點需要知道哪個機器是Nimbus,以便下載Topologies的jars、confs等檔案,如:
nimbus.host: "111.222.333.444"
5) supervisor.slots.ports: 對於每個Supervisor工作節點,需要配置該工作節點可以啟動並執行worker數量。每個worker佔用一個單獨的連接埠用於接收訊息,該配置選項即 用於定義哪些連接埠是可被worker使用的。預設情況下,每個節點上可運行4個workers,分別在6700、6701、6702和6703連接埠,如:
supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703
啟動Storm最後一步,啟動Storm的所有後台進程。和Zookeeper一樣,Storm也是快速失敗(fail-fast)的系統,這樣Storm才能在 任意時刻被停止,並且當進程重啟後被正確地恢複執行。這也是為什麼Storm不在進程內儲存狀態的原因,即使Nimbus或Supervisors被重 啟,運行中的Topologies不會受到影響。
以下是啟動Storm各個後台進程的方式:

1. Nimbus: 在Storm主控節點上運行"bin/storm nimbus >/dev/null 2>&1 &"啟動Nimbus背景程式,並放到後台執行;
2. Supervisor: 在Storm各個工作節點上運行"bin/storm supervisor >/dev/null 2>&1 &"啟動Supervisor背景程式,並放到後台執行;
3. UI: 在Storm主控節點上運行"bin/storm ui >/dev/null 2>&1 &"啟動UI背景程式,並放到後台執行,啟動後可以通過http://{nimbus host}:8080觀察叢集的worker資源使用方式、Topologies的運行狀態等資訊。

注意事項:

1. Storm後台進程被啟動後,將在Storm安裝部署目錄下的logs/子目錄下產生各個進程的記錄檔。
2. 經測試,Storm UI必須和Storm Nimbus部署在同一台機器上,否則UI無法正常工作,因為UI進程會檢查本機是否存在Nimbus連結。
3. 為了方便使用,可以將bin/storm加入到系統內容變數中。

至此,Storm叢集已經部署、配置完畢,可以向叢集提交拓撲運行了。
附:Storm的主要依賴:
Apache Zookeeper、ØMQ、JZMQ、Java 6和Python 2.6.6

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.