要使用storm首先要安裝以下工具:JDK、Python、zookeeper、zeromq、jzmq、storm
(注:各個模組都是獨立的,如果安裝失敗或者卡頓可以單獨百度某個模組的安裝,都是可以的。)
JDK1.7安裝 參見上篇《Ubuntu下安裝配置JDK1.7》http://www.cnblogs.com/stone_w/p/4469548.html
第一步,安裝Python2.7.2(ubuntu)
wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz tar zxvf Python-2.7.2.tgz cd Python-2.7.2 ./configure make make install vi /etc/ld.so.conf 追加/usr/local/lib/ sudo ldconfig
第二步,安裝zookeeper
下載zookeeper
解壓,安裝:http://pan.baidu.com/s/1jGjA90M
tar -zxvf zookeeper-3.3.5.tar.gz cp -R zookeeper-3.3.5 /usr/local/ ln -s /usr/local/zookeeper-3.3.5/ /usr/local/zookeeper gedit /etc/profile (設定ZOOKEEPER_HOME和ZOOKEEPER_HOME/bin) export ZOOKEEPER_HOME="/path/to/zookeeper" export PATH=$PATH:$ZOOKEEPER_HOME/bin cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg (用zoo_sample.cfg製作$ZOOKEEPER_HOME/conf/zoo.cfg) mkdir /tmp/zookeeper mkdir /var/log/zookeeper
zookeeper的單機安裝已經完成了。
第三步,安裝zeromq以及jzmq
jzmq的安裝貌似是依賴zeromq的,所以應該先裝zeromq,再裝jzmq。
1)安裝zeromq:
wget http://download.zeromq.org/zeromq-2.2.0.tar.gz tar zxf zeromq-2.2.0.tar.gz cd zeromq-2.2.0 ./configure make make install sudo ldconfig (更新LD_LIBRARY_PATH)
zeromq安裝完成。
注意:如有有依賴報錯,需要安裝:
jzmq dependencies 依賴包
sudo yum install uuid*
sudo yum install libtool
sudo yum install libuuid
sudo yum install libuuid-devel
2)安裝jzmq
yum install git git clone git://github.com/nathanmarz/jzmq.git cd jzmq ./autogen.sh ./configure make make install
然後,jzmq就裝好了.
注意:在./autogen.sh這步如果報錯:autogen.sh:error:could not find libtool is required to run autogen.sh,這是因為缺少了libtool,可以用#yum install libtool*來解決。
第四步,安裝Storm
我使用的Storm版本是最新的穩定版0.8.2,下載,解壓,修改/conf/storm.yaml配置檔案:
Storm 0.8.2 下載 http://pan.baidu.com/s/1sjODKPB
unzip storm-0.8.2.zip mv storm-0.8.2 /usr/local/ ln -s /usr/local/storm-0.8.2/ /usr/local/storm gedit /etc/profile export STORM_HOME=/usr/local/storm-0.8.2 export PATH=$PATH:$STORM_HOME/bin
到此為止單機版的Storm就安裝完畢了。
啟動Storm
/usr/local/zookeeper/bin/zkServer.sh start cd /usr/local/storm-0.8.2 bin/storm nimbus & bin/storm supervisor & bin/storm ui &
如果我們沒有為storm新增環境變數,那麼在啟動的時候,我們就需要使用絕對路徑或相對路徑來定位/chenny/Storm/storm-0.8.2/bin/storm這個程式。啟動完成後,我們可以使用jps來檢視程式狀態: >>jps 在沒有執行任務時,我們必須應該要看到5個程式:QuorumPeerMain、nimbus、core、Jps、supervisor。否則 就需要檢查是否正確地啟動,如果啟動之後沒有過多久就停止了,我們就需要檢視~/storm-0.8.2/logs下面的對應的log檔案,檢視引起異常 的原因是什麼,然後解決後再次啟動。 同時,我們可以在瀏覽器中輸入http://127.0.0.1:8080來進入Storm UI的介面,可以檢視Storm執行期間的相關資訊。
第五步,測試一下本地模式的WordCount
網上別的資料介紹了許多方式來編譯可執行的Topology程式,我們這裡提供一個簡單的辦法,只需要使用Eclipse和相關的Jar包即 可,Ubuntu或者Windows環境下均可。我們需要從github上下載下來一個供初學者學習的storm-starter,同時,我們還需要有 commons-collections-3.2.1-bin.tar.gz、twitter4j-2.2.6.zip和storm-0.8.2.zip 等軟體包,如果沒有的話,需要去下載。以Windows XP下的Eclipse為例。首先我們將所有需要的包解壓放到桌面,開啟Eclipse,新建Java Project,名字任意取,我取名叫做MyFirstStormApp,然後點選Finish。
在MyFirstStormApp上右鍵,選擇Import,然後選擇File System:
在From Directory中輸入相應的路徑或者點選Browse,選擇路徑:
我們依次展開storm-starter-master/src/jvm/storm,選中jvm資料夾,點選確定,然後勾選jvm,點選finish:
這樣,我們就在左側看到Project的結構:
拖動storm到src中,然後安裝同樣的方式將 storm-starter-master/storm-starter-master/multilang匯入到專案中,然後我們就在左側看到如下圖所示的結構:
可以看到上面有很多紅叉,此時,我們就需要匯入專案所依賴的jar包,在專案上右鍵,選擇Properties,然後Java Build Path,切換到Libraries選項夾下,點選Add External JARs:
將storm-0.8.2/lib目錄下的所有jar包都加入到專案中,將
commons-collections-3.2.1.jar新增到 專案中,將twitter4j-2.2.6/lib中的所有jar包加入到專案中,將storm-0.8.2/storm-0.8.2.jar加入到專案 中,然後點選OK,這個時候,可以看到專案中的所有錯誤都消失了。接下來,我們將PrintSampleStream.java和 TwitterSampleSpout.java中的註釋取消,或者將這兩個檔案刪除
在專案上選擇Export,然後選擇JAR file,在下一頁,我們將專案匯出,勾選如下圖所示:
點選finish後,如果沒有錯誤,只有warning的話,就不用管了,否則我們需要檢查錯誤,然後重新打包。打包後的jar包是MyFirstStormApp.jar,將它拷貝到部署有Storm的機器上(/usr/local/storm-0.8.2目錄下),然後在終端中輸入:
>>bin/storm jar MyFirstStormApp.jar storm.starter.WordCountTopology test2 如果沒有錯誤,就成功提交了,在瀏覽器中輸入http://127.0.0.1:8080,可以看到這個Topology已經在執行了,點選它的名字,可以進入Topology summary:
如果看到這些資料,就說明我們正確地完成了配置。