如下是依次須要完成的安裝步驟html
1、安裝JDK1.6java
2、安裝Zookeeperc++
3、安裝zeromq-2.1.7apache
4、安裝jzmqide
5、安裝Python-2.7.2post
6、安裝unzip測試
7、安裝Stormui
1、下載並安裝JDK1.6 並設置環境變量,如:url
export JAVA_HOME=/opt/java6spa
export PATH=$PATH:$JAVA_HOME/bin
運行java、javac命令,測試java正常安裝。
2、安裝zookeeper
簡易安裝:下載zookeeper-3.4.6.tar.gz放到/opt目錄,而後修改/opt/zookeeper-3.4.6/data/myid 文件中的序列號,最後到bin目錄下./zkServer.sh start 啓動
完整安裝:
安裝zookeeper(至少安裝2n+1臺,n>0,也就是說不能安裝兩臺,因此每套環境只安裝了一臺)
一、下載zookeeper:wget http://mirror.esocc.com/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz 放到opt目錄下
二、將conf目錄下的 zoo_sample.cfg複製爲zoo.cfg
三、編輯zoo.cfg
3.一、添加server(單機模式就不用改了,集羣模式要添加以下:)
server.1=zookeeper1:2888:3888 (節點ip及端口)
server.2=zookeeper2:2888:3888
server.3=zookeeper3:2888:3888
3.2 添加配置項,說明數據文件路徑
dataDir=/opt/zookeeper-3.4.6/data/
四、在/opt/zookeeper-3.4.6/data/ 目錄下新建myid文件,並編輯爲server.id中的id號,如一、二、3
五、啓動zookeeper:/opt/zookeeper-3.4.6/bin/zkServer.sh start
六、查看狀態:/opt/zookeeper-3.4.6/bin/zkServer.sh status
七、中止zookeeper進程:/opt/zookeeper-3.4.6/bin/zkServer.sh stop
3、安裝zeromq-2.1.7(安裝過程當中若出現失敗,請關注注意事項)
一、下載並解壓zeromq-2.1.7
wget http://download.zeromq.org/zeromq-2.1.7.tar.gz
tar -zxf zeromq-2.1.7.tar.gz
二、執行如下命令
cd zeromq-2.1.7
./configure
make
make install
4、安裝jzmq
一、下載並解壓jzmg
二、執行如下命令
cd jzmq
./autogen.sh
./configure
make
make install
5、安裝Python-2.7.2
一、下載並解壓Python-2.7.2
二、執行如下命令
cd Python-2.7.2
./configure
make
make install
6、安裝unzip
yum install unzip
7、安裝storm-0.8.0
一、下載並解壓storm-0.8.0
二、修改${storm}/conf/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: "/state/partition1/tmp/storm"
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、670一、6702和6703端口,如:
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
3 啓動Storm各個後臺進程
如下是啓動Storm各個後臺進程的方式:
a、Nimbus: 在Storm主控節點的${storm}/bin目錄上運行"nohup storm nimbus &"啓動Nimbus後臺程序,並放到後臺執行;
b、Supervisor: 在Storm各個工做節點的${storm}/bin目錄上運行"nohup storm supervisor &"啓動Supervisor後臺程序,必須先啓動主節點並放到後臺執行;
c、UI: 在Storm主控節點的${storm}/bin目錄上運行"nohup storm ui &"啓動UI後臺程序,並放到後臺執行,啓動後能夠經過
http://nimbus host:9090/ 觀察集羣的worker資源使用狀況、Topologies的運行狀態等信息。
至此,Storm集羣已經部署、配置完畢,能夠向集羣提交拓撲運行了。
啓動目前項目的各個job在$STORM_HOME/bin目錄下
只要在主節點啓動,jar包也放主節點上
參數:名稱,進程數NumWorkers(默認值爲各個topology後面的值)
storm jar stormtopology.jar com.hc360.storm.MyTopology MyTopology 3;
經過UI去查看各個job是否成功啓動:
http://nimbus host:9090/
關閉各個job的命令以下:
在$STORM_HOME/bin目錄下
storm kill MyTopology;
注意事項:
1.配置hosts文件 (注意:localhost採起默認127.0.0.1,不要改動)
vi /etc/hosts
配置環境變量(jdk,storm):
vi /etc/profile
2.No route to host
出現上面錯誤的緣由有多是:防火牆沒有關閉
iptables -l
3.中途失敗,按照提示先安裝其餘庫
yum install libtools
yum install gcc-c++
yum install uuid-devel
yum install libuuid-devel
4.Storm後臺進程被啓動後,將在Storm安裝部署目錄下的logs/子目錄下生成各個進程的日誌文件。
5.經測試,Storm UI必須和Storm Nimbus部署在同一臺機器上,不然UI沒法正常工做,由於UI進程會檢查本機是否存在Nimbus連接。
6.爲了方便使用,能夠將bin/storm加入到系統環境變量中。