storm學習(二):搭建storm叢集環境
這次使用一臺伺服器來搭建storm的叢集環境,多臺伺服器的storm叢集搭建方法一樣。
搭建的步驟:
1.安裝zookeeper叢集環境
2.安裝storm的依賴軟體
3.下載storm
4.設定storm配置
5.啟動storm叢集
安裝zookeeper叢集環境:
由於寫這篇文章是直播。我自己想知道為啥要安裝zookeeper呢? 於是停下工作再找找資料看看怎麼說
先用官方的一張圖來說明storm叢集的結構。storm叢集中有兩種節點:主節點和 工作節點。 這個主節點執行著一個守護程序叫(nimbus)其功能是:傳送程式碼到整個叢集,分派任務,監控叢集錯誤。 工作節點執行守護程序叫(supervisor)其功能是:監聽著nimbus傳送過來的任務,並控制處理程序的開始和停止。
nimbus和supervisor程序間協調是通過zookeeper叢集來實現。
解壓到本地之後,修改zookeeper的配置檔案,在zookeeper目錄conf中,拷貝zoo_sample.cfg到zoo.cfg中並修改zoo.cfg
修改引數:dataDir存放zookeeper執行時儲存的檔案,預設是儲存在/tmp下面。新增叢集伺服器server.1=127.0.0.1:2888:3888由於是一臺伺服器就新增一個伺服器資訊,伺服器格式是server.id=[host]:port[:port] 第一個port用來連結leader,第二個埠用來選舉leader來用
修改後的配置檔案:
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/storm/zookeeper-3.4.5/data clientPort=2181 server.1=2888
配置完成之後啟動伺服器在zookeeper目錄中bin下執行zkServer.sh start
2.安裝storm的依賴軟體
storm的依賴的列表:
JAVA6
PYTHON2.6.6
Unzip
主要安裝的需要ZeroMQ2.1.7和JZMQ
在Storm安裝目錄下bin目錄下有install_zmq.sh執行後可以自動安裝,安裝的過程如果報錯一般由於伺服器沒有安裝依賴的庫。不過下載storm應該是第三步的事。
3.下載storm
最好將storm資料夾下bin加入環境變數PATH中。保證bin/storm可以執行。
4.設定storm配置
修改配置檔案storm目錄下 conf/storm.yaml 預設的配置在 https://github.com/nathanmarz/storm/blob/master/conf/defaults.yaml
有幾個配置需要設定一下:
storm.zookeeper.servers: 設定zookeeper的叢集,設定為叢集的伺服器ip列表
*這個配置檔案:後面需要空格否則報錯
*如果zookeeper的埠不是預設埠需要設定 storm.zookeeper.port
storm.local.dir:storm叢集需要的檔案儲存地址,設定為指定的一個目錄
nimbus.host:配置nimbus伺服器地址
########### These MUST be filled in for a storm configuration
storm.zookeeper.servers:
- "127.0.0.1"
# - "server2"
#
storm.local.dir: "/storm/storage"
nimbus.host: "127.0.0.1"
5.啟動storm叢集
在bin目錄下如果之前bin已經加入環境變數PATH中,可以在任何目錄下執行:
$storm nimbus啟動主伺服器
$storm supervisor啟動工作伺服器
$storm ui 啟動監控伺服器
可以使用jps檢視程序是否已經啟動
ui啟動之後可以訪問 http://ip:8080檢視storm狀態