CentOS6.5 安裝Storm叢集

獵手家園發表於2016-05-17

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加入到系統環境變數中。

 

相關文章