Twitter Storm安裝配置(Ubuntu系統)單機版

王磊的部落格發表於2015-05-08

要使用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:

如果看到這些資料,就說明我們正確地完成了配置。

 

相關文章