Storm記錄005--Storm集羣安裝

以下是依次需要完成的安裝步驟

一、安裝JDK1.6

二、安裝Zookeeper

三、安裝zeromq-2.1.7

四、安裝jzmq

五、安裝Python-2.7.2

六、安裝unzip

七、安裝Storm

一、下載並安裝JDK1.6 並設置環境變量,如:

export JAVA_HOME=/opt/java6

export PATH=$PATH:$JAVA_HOME/bin

運行java、javac命令,測試java正常安裝。

二、安裝zookeeper

簡易安裝:下載zookeeper-3.4.6.tar.gz放到/opt目錄,然後修改/opt/zookeeper-3.4.6/data/myid 文件中的序列號,最後到bin目錄下./zkServer.sh start 啓動

完整安裝:

安裝zookeeper(至少安裝2n+1臺,n>0,也就是說不能安裝兩臺,所以每套環境只安裝了一臺)

1、下載zookeeper:wget http://mirror.esocc.com/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz 放到opt目錄下

2、將conf目錄下的  zoo_sample.cfg複製爲zoo.cfg

3、編輯zoo.cfg

   3.1、添加server(單機模式就不用改了,集羣模式要添加如下:)

        server.1=zookeeper1:2888:3888  (節點ip及端口)

        server.2=zookeeper2:2888:3888

        server.3=zookeeper3:2888:3888

   3.2 添加配置項,說明數據文件路徑

        dataDir=/opt/zookeeper-3.4.6/data/  

4、在/opt/zookeeper-3.4.6/data/  目錄下新建myid文件,並編輯爲server.id中的id號,如1、2、3

5、啓動zookeeper:/opt/zookeeper-3.4.6/bin/zkServer.sh start

6、查看狀態:/opt/zookeeper-3.4.6/bin/zkServer.sh status

7、停止zookeeper進程:/opt/zookeeper-3.4.6/bin/zkServer.sh stop

三、安裝zeromq-2.1.7(安裝過程中若出現失敗,請關注注意事項)

1、下載並解壓zeromq-2.1.7

wget http://download.zeromq.org/zeromq-2.1.7.tar.gz

tar -zxf zeromq-2.1.7.tar.gz

2、執行以下命令

cd zeromq-2.1.7

./configure

make

make install

四、安裝jzmq

1、下載並解壓jzmg

2、執行以下命令

cd jzmq

./autogen.sh

./configure

make

make install

五、安裝Python-2.7.2

1、下載並解壓Python-2.7.2

2、執行以下命令

cd Python-2.7.2

./configure

make

make install

六、安裝unzip

yum install unzip

七、安裝storm-0.8.0

1、下載並解壓storm-0.8.0

2、修改${storm}/conf/storm.yaml配置文件

1) storm.zookeeper.servers: Storm集羣使用的Zookeeper集羣地址,其格式如下:

storm.zookeeper.servers:

 - "111.222.333.444"

 - "555.666.777.888"

如果Zookeeper集羣使用的不是默認端口,那麼還需要storm.zookeeper.port選項。

2) storm.local.dir: Nimbus和Supervisor進程用於存儲少量狀態,如jars、confs等的本地磁盤目錄,需要提前創建該目錄並給以足夠的訪問權限。然後在storm.yaml中配置該目錄,如:

storm.local.dir: "/state/partition1/tmp/storm"

3) java.library.path: Storm使用的本地庫(ZMQ和JZMQ)加載路徑,默認爲"/usr/local/lib:/opt/local/lib:/usr/lib",一般來說ZMQ和JZMQ默認安裝在/usr/local/lib 下,因此不需要配置即可。

4) nimbus.host: Storm集羣Nimbus機器地址,各個Supervisor工作節點需要知道哪個機器是Nimbus,以便下載Topologies的jars、confs等文件,如:

nimbus.host: "111.222.333.444"

5) supervisor.slots.ports: 對於每個Supervisor工作節點,需要配置該工作節點可以運行的worker數量。每個worker佔用一個單獨的端口用於接收消息,該配置選項即用於定義哪些端口是可被worker使用的。默認情況下,每個節點上可運行4個workers,分別在6700、6701、6702和6703端口,如:

supervisor.slots.ports:

   - 6700

   - 6701

   - 6702

   - 6703

3 啓動Storm各個後臺進程

以下是啓動Storm各個後臺進程的方式:

a、Nimbus: 在Storm主控節點的${storm}/bin目錄上運行"nohup storm nimbus &"啓動Nimbus後臺程序,並放到後臺執行;

b、Supervisor: 在Storm各個工作節點的${storm}/bin目錄上運行"nohup storm supervisor &"啓動Supervisor後臺程序,必須先啓動主節點並放到後臺執行;

c、UI: 在Storm主控節點的${storm}/bin目錄上運行"nohup storm ui &"啓動UI後臺程序,並放到後臺執行,啓動後可以通過

http://nimbus host:9090/ 觀察集羣的worker資源使用情況、Topologies的運行狀態等信息。


至此,Storm集羣已經部署、配置完畢,可以向集羣提交拓撲運行了。

啓動目前項目的各個job在$STORM_HOME/bin目錄下    

只要在主節點啓動,jar包也放主節點上

參數:名稱,進程數NumWorkers(默認值爲各個topology後面的值)

storm jar stormtopology.jar com.hc360.storm.MyTopology MyTopology 3;


通過UI去查看各個job是否成功啓動:

http://nimbus host:9090/


關閉各個job的命令如下:

在$STORM_HOME/bin目錄下

storm kill MyTopology;


注意事項:

1.配置hosts文件 (注意:localhost採取默認127.0.0.1,不要改動)

vi /etc/hosts

配置環境變量(jdk,storm):

vi /etc/profile

2.No route to host

出現上面錯誤的原因有可能是:防火牆沒有關閉

iptables -l

3.中途失敗,按照提示先安裝其他庫

yum install  libtools

yum install gcc-c++

yum install uuid-devel

yum install libuuid-devel

4.Storm後臺進程被啓動後,將在Storm安裝部署目錄下的logs/子目錄下生成各個進程的日誌文件。

5.經測試,Storm UI必須和Storm Nimbus部署在同一臺機器上,否則UI無法正常工作,因爲UI進程會檢查本機是否存在Nimbus鏈接。

6.爲了方便使用,可以將bin/storm加入到系統環境變量中。


Storm集羣安裝部署步驟【詳細版】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章