安裝storm集群之前首先要安裝jdk以及配置環境變量,接著安裝zookeeper集群,zookeeper集群在我前面的文章中有講解,如果需要可以動手搭建。在搭建storm集群之前一般先關閉防火牆。
安裝之前首先介紹一下每一步的大綱:
一、 搭建Zookeeper集群;
二、 安裝Storm依賴(zeromq、jzmq、python);
三、 下載並解壓Storm發佈版本;
四、 修改storm.yaml配置文件;
五、 啟動Storm各個後臺進程;
1. 首先安裝依賴ZeroMQ,接著創建目錄zeromq解壓zeromq-2.2.0.tar.gz命令如下:
①.tar zxf zeromq-2.2.0.tar.gz
②.cd zeromq-2.2.0
③../configure(yum install libuuid-devel)
④.make
⑤.make install
1)在安裝過程中可能會報錯,說缺少g++,那麼我們順手安裝了g++,命令為:
yum install gcc gcc-c++;
2)還有就是安裝./configure或者make時候失敗的話,請接著安裝util-linux-ng-2.17步驟命令如下:
①.unzip util-linux-ng-2.17-rc1.zip
②.cd util-linux-ng-2.17
③../configure
④.make
⑤.mv /sbin/hwclock /sbin/hwclock.old
⑥.cp hwclock/hwclock /sbin/
⑦.hwclock --show
⑧.hwclock -w
⑨.make install
2. 安裝jzmq,命令如下:
①.unzip jzmq-mater.zip
②.cd jzmq
③../autogen.sh
④../configure
⑤.make
⑥.make install
如果安裝過程中缺少libtool,那麼先安裝就可以了,命令如下:yum install libtool
3. 接下來安裝Python2.7.2,如果安裝的Linux版本中自己帶了Python請卸載重裝,一般在安裝Linux版本中不要讓它安裝Python,以後自己手動安裝最好。安裝命令如下:
①.tar zxvf Python-2.7.2.tgz
②.cd Python-2.7.2
③../configure
④.make
⑤.make install
4. 接下來就是安裝storm,命令如下:
①.unzip storm-0.8.1.zip
②.vim /etc/profile
export STORM_HOME=/usr/local/storm-0.8.1
export PATH=$PATH:$STORM_HOME/bin
在安裝過程中有可能出現unzip不能用,那麼順手安裝就可以了,命令如下:
yum install unzip
4. 配置storm文件
修改storm/conf/storm.yaml文件
storm.zookeeper.servers:
- “master"
- “slave1"
- “slave2"
nimbus.host: “master"
storm.local.dir: "/usr/tmp/storm"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
(注意:先搭建zookeeper集群,可以參考我之前發的文章)
說明一下:storm.local.dir表示storm需要用到的本地目錄。nimbus.host表示那一臺機器是master機器,即 nimbus。storm.zookeeper.servers表示哪幾臺機器是zookeeper服務器。
storm.zookeeper.port表示zookeeper的端口號,這裡一定要與zookeeper配置的端口號一致,否則會出現通信錯誤,切記。當然你也可以配 superevisor.slot.ports,supervisor.slots.ports表示supervisor節點的槽數,就是最多能跑幾個 worker進程(每個sprout或bolt默認只啟動一個worker,但是可以通過conf修改成多個)java.library.path 這是storm所依賴的本地依賴(ZeroMQ和JZMQ)的加載地址, 默認的是:/usr/local/lib:/opt/local/lib:/usr/lib, 大多情況下是對的,所以你應該不用更改這個配置。
配置時一定注意在每一項的開始時要加空格,最好加兩個空格(這個在老版本中必須得注意這個問題,說多了都是淚。但是新版本中沒有這個問題了),冒號後也必須要加空格,否則storm不認識這個配置文件。在目錄/usr/tmp下面增加storm文件夾。
5. 啟動storm
啟動zookeeper環境(啟動不正常,執行service iptablse stop關閉防火牆,這個在安裝之前就說過的)。
執行storm nimbus 啟動nimbus;
命令為:./storm nimbus 1>/dev/null 2>&1 &
執行 storm supervisor 啟動從節點;
命令為:./storm supervisor 1>/dev/null 2>&1 & 如果啟動不起來刪掉storm-local文件。
執行 storm ui 啟動ui(ui和nimbus需要在同一臺機子上面);
命令為:./storm ui 1>/dev/null 2>&1 &
其他命令:
tail -f 文件名:動態查看文件尾部。
查看當前運行的topology:./storm list
停止:./storm kill 拓撲名
啟動storm之前清理zookeeper下面的storm文件,在bin目錄下執行./zkCli.sh之後再執行ls /之後,再執行rmr /storm。
注意事項:
Storm後臺進程被啟動後,將在Storm安裝部署目錄下的logs/子
目錄下生成各個進程的日誌文件。
經測試,Storm UI必須和Storm Nimbus部署在同一臺機器上,
否則UI無法正常工作,因為UI進程會檢查本機是否存在Nimbus鏈接。
為了方便使用,可以將bin/storm加入到系統環境變量中。
啟動完畢,通過 http://ip:8080/訪問UI