1、首先安裝依賴包
[root@Hadoop-NN-01 ~]# yum install uuid* [root@Hadoop-NN-01 ~]# yum install libuuid [root@Hadoop-NN-01 ~]# yum install libuuid-devel [root@Hadoop-NN-01 ~]# yum install libtool [root@Hadoop-NN-01 ~]# yum install e2fsprogs [root@Hadoop-NN-01 ~]# yum install e2fsprogs-devel
2、安裝 zeromq
下載:http://download.zeromq.org/zeromq-4.1.2.tar.gz
解壓:tar xzf zeromq-4.1.2.tar.gz
編譯安裝:
./configure --without-libsodium
make
make install
sudo ldconfig
3、安裝 jzmq (先安裝JDK)
安裝git:
yum install git git clone git://github.com/nathanmarz/jzmq.git cd jzmq
或
如果不安裝git,則使用wget:
wget https://codeload.github.com/zeromq/jzmq/zip/master unzip jzmq-master.zip cd jzmq-jni/
編譯安裝:
./autogen.sh ./configure make make install
4、安裝 Python(CentOS自帶python2.6可以略過此步)
wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz tar -zxvf Python-3.5.0.tgz cd Python-2.7.2 ./configure make make install
安裝完後:
vi /etc/ld.so.conf 追加 /usr/local/lib/
5、安裝 zookeeper
參考文件:http://www.cnblogs.com/hunttown/p/5452138.html
6、安裝 storm
下載:http://mirror.bit.edu.cn/apache/storm/apache-storm-0.9.6/apache-storm-0.9.6.tar.gz
解壓:tar -zxvf apache-storm-0.9.6.tar.gz
設定環境變數:
[root@Hadoop-NN-01 ~]# vim /etc/profile #storm export STORM_HOME=/home/hadoopuser/apache-storm-0.9.6 export PATH=$PATH:$STORM_HOME/bin [root@Hadoop-NN-01 ~]# source /etc/profile #使環境變數生效
7、配置
storm配置文件:https://github.com/nathanmarz/storm/blob/master/conf/defaults.yaml
[root@Hadoop-NN-01 conf]# vim storm.yaml #注意yaml格式的要求,注意在每一項的開始時要加空格,冒號後也必須要加空格,否則storm就不認識這個配置檔案了 storm.zookeeper.servers: - " Zookeeper-01" - " Zookeeper-02" - " Zookeeper-03" # storm.zookeeper.port : 2181 #非預設埠時配置 nimbus.host: " Hadoop-NN-01" nimbus.thrift.port: 6627 storm.zookeeper.port: 2181 storm.local.dir: "/home/hadoopuser/apache-storm-0.9.6/tmp" supervisor.slots.ports: - 6700 - 6701 - 6702 # to nimbus 1G夠用了 nimbus.childopts: "-Xmx1024m" # to supervisor 1G夠用了 supervisor.childopts: "-Xmx1024m" # to worker 作業一般可以給的大一些,因為要處理資料。一般給4G以上。 worker.childopts: "-Xmx4096m"
Storm叢集中有兩種節點,一種是控制節點(Nimbus節點),另一種是工作節點(Supervisor節點)。所有Topology任務的提交必須在Storm客戶端節點上進行需要配置~/.storm/storm.yaml檔案,由Nimbus節點分配給其他Supervisor節點進行處理。
mkdir ~/.storm
cp /home/hadoopuser/apache-storm-0.9.6/conf/storm.yaml ~/.storm/storm.yaml
#修改hosts(可省略):
nimbus節點hosts改為 nimbusHost
supervisor節點hosts改為 supervisorHost1…...x
#程式說明:
zkServer nimbus, supervisor 和 ui
storm nimbus & 要等待一會直到出現---- backtype.storm.daemon.nimbus
storm supervisor & 要等待一會直到出現---- storm.daemon.supervisor
storm ui & 要等待一會直到出現---- properties backtype.storm.ui.core
jps 可以檢視各個程式的執行狀態
core 對應的程式是 Storm UI
Jps 對應的程式是 Java jps
nimbus 對應的程式是 Storm nimbus
supervisor 對應的程式是 Storm supervisor
QuorumPeerMain 對應的程式是 zkServer.sh
8、啟動storm
#啟動zookeeper: [root@Hadoop-NN-01 ~]# zkServer.sh start #啟動Storm: [root@Hadoop-NN-01 ~]# storm nimbus & #後臺啟動 [root@Hadoop-NN-01 ~]# storm supervisor & [root@Hadoop-NN-01 ~]# storm ui &
瀏覽器中檢視狀態:http://192.168.107.82:8080/
9、提交作業(topology)
[root@Hadoop-NN-01 ~]# storm jar xxxx.jar storm.starter.WordCountTopology arg1 arg2 arg3
10、關閉作業
[root@Hadoop-NN-01 ~]# storm kill topologyname
注意事項:
1、Storm後臺程式被啟動後,將在Storm安裝部署目錄下的logs/子目錄下生成各個程式的日誌檔案。
2、經測試,Storm UI必須和Storm Nimbus部署在同一臺機器上,否則UI無法正常工作,因為UI程式會檢查本機是否存在Nimbus連結。
3、為了方便使用,可以將bin/storm加入到系統環境變數中。