標籤:
本文環境如下:
作業系統:CentOS 6 32位
ZooKeeper版本:3.4.8
Storm版本:1.0.0
JDK版本:1.8.0_77 32位
python版本:2.6.6
叢集情況:一個主控節點(Master)和兩個工作節點(Slave1,Slave2)
1. 搭建Zookeeper叢集
安裝參考:CentOS下ZooKeeper單機模式、叢集模式安裝
2. 在Nimbus和worker機器上安裝依賴包
Java 6
Python 2.6.6
以上的版本是官方說已經有測試可以和Strom正常啟動並執行版本,本文採用Java 8進行安裝。
參考CentOS 6使用rpm方式安裝JDK8。
由於CentOS 6已經內建Python 2.6.6,這邊就不介紹安裝方法了。可以採用python --version
來檢查伺服器是否安裝python,以及對應的版本。
3. 下載解壓最新版的Storm
開啟官網下載頁面:http://storm.apache.org/downloads.html
選擇適合的版本進行下載。
wget "http://apache.opencas.org/storm/apache-storm-1.0.0/apache-storm-1.0.0.tar.gz"tar -xzvf apache-storm-1.0.0.tar.gzmv apache-storm-1.0.0 /opt
4. 修改設定檔
開啟核心設定檔:storm.yaml
cd /opt/apache-storm-1.0.0/confvi storm.yaml
至少完成以下3處的配置,筆者的設定檔:
storm.zookeeper.servers: - "master" - "slave1" - "slave2"storm.local.dir: "/opt/apache-storm-1.0.0/data"nimbus.seeds: ["master"]
其中storm.zookeeper.servers
,表示Zookeeper叢集地址。如果Zookeeper叢集使用的不是預設連接埠,那麼還需要配置storm.zookeeper.port。storm.local.dir
用於配置Storm儲存少量檔案的路徑。nimbus.seeds
用於配置主控節點的地址,可以配置多個。
5. 拷貝檔案到其餘主控節點和工作節點
scp -r apache-storm-1.0.0 root@slave1:/optscp -r apache-storm-1.0.0 root@slave2:/opt
6. 啟動Storm
Storm叢集中包含兩類節點:主控節點(Master Node)和工作節點(Work Node)。其分別對應的角色如下:
主控節點(Master Node)上運行一個被稱為Nimbus的背景程式,它負責在Storm叢集內分發代碼,分配任務給工作機器,並且負責監控叢集運行狀態。
每個工作節點(Work Node)上運行一個被稱為Supervisor的背景程式。Supervisor負責監聽從Nimbus分配給它執行的任務,據此啟動或停止執行任務的背景工作處理序。每一個背景工作處理序執行一個Topology的子集;一個運行中的Topology由分布在不同工作節點上的多個背景工作處理序組成。
6.1 啟動主控節點
/opt/apache-storm-1.0.0/bin/storm nimbus
6.2 啟動工作節點
/opt/apache-storm-1.0.0/bin/storm supervisor
6.3 啟動管理頁面
在主控節點上運行
/opt/apache-storm-1.0.0/bin/storm ui
說明:需要分別到每個節點啟動服務。管理介面將運行在啟動它的伺服器的8080連接埠,記錄檔在程式目錄中logs檔案夾下。上面的啟動方式是在前台啟動並執行,如果需要在後台運行,可以使用類似nohup /opt/apache-storm-1.0.0/bin/storm nimbus &
的方式運行。
CentOS下Storm 1.0.0叢集安裝詳解