Storm(二)CentOS7.5搭建Storm1.2.2集群


一.Storm的下載

官網下載地址:http://storm.apache.org/downloads.html

這里下載最新的版本storm1.2.2,進入之后選擇一個鏡像下載

二.Storm偽分布式安裝

1.環境准備

JDK 1.7+             驗證: java -version
Python 2.6.6+      驗證:python -V

2.解壓安裝包

[admin@node21 software]$ tar zxvf apache-storm-1.2.2.tar.gz -C /opt/module/

3.創建logs文件目錄

[admin@node21 software]$ cd /opt/module/apache-storm-1.2.2
[admin@node21 apache-storm-1.2.2]$ mkdir logs

4.啟動storm

  • 查看幫助
[admin@node21 apache-storm-1.2.2]$ ./bin/storm help

幫助如下

[admin@node21 storm-1.2.2]$ ./bin/storm help
Commands:
    activate
    blobstore
    classpath
    deactivate
    dev-zookeeper
    drpc
    get-errors
    heartbeats
    help
    jar
    kill
    kill_workers
    list
    localconfvalue
    logviewer
    monitor
    nimbus
    node-health-check
    pacemaker
    rebalance
    remoteconfvalue
    repl
    set_log_level
    shell
    sql
    supervisor
    ui
    upload-credentials
    version

Help: 
    help 
    help <command>

Documentation for the storm client can be found at http://storm.apache.org/documentation/Command-line-client.html

Configs can be overridden using one or more -c flags, e.g. "storm list -c nimbus.host=nimbus.mycompany.com"
View Code
  • 啟動Zookeeper
[admin@node21 apache-storm-1.2.2]$ ./bin/storm dev-zookeeper >> ./logs/zk.out 2>&1 &
  • 啟動Nimbus
[admin@node21 apache-storm-1.2.2]$ ./bin/storm nimbus >> ./logs/nimbus.out 2>&1 &
  • 啟動Storm UI
[admin@node21 apache-storm-1.2.2]$ ./bin/storm ui >> ./logs/ui.out 2>&1 &
  • 啟動Supervisor
[admin@node21 apache-storm-1.2.2]$ ./bin/storm supervisor >> ./logs/supervisor.out 2>&1 &
  • 啟動Logviewer
[admin@node21 apache-storm-1.2.2]$ ./bin/storm logviewer ./logs/logviewer.out 2>&1 &

5.查看進程

 

6.WebUI查看

WebUI查看地址:http://node21:8080/

三.Storm分布式集群安裝

官網集群配置文檔:http://storm.apache.org/releases/1.2.2/Setting-up-a-Storm-cluster.html

1.集群部署

IP 節點名稱 Jdk,Python Zookeeper Nimbus Supervisor
192.168.100.21 node21 Jdk,Python Zookeeper Nimbus  
192.168.100.22 node22 Jdk,Python Zookeeper   Supervisor
192.168.100.23 node23 Jdk,Python Zookeeper   Supervisor

Zookeeper集群安裝參考: CentOS7.5搭建Zookeeper3.4.12集群與命令行操作

2.安裝環境解壓安裝包

[admin@node21 software]$ tar zxvf apache-storm-1.2.2.tar.gz -C /opt/module/
[admin@node21 software]$ cd /opt/module/
[admin@node21 module]$ mv apache-storm-1.2.2/ storm-1.2.2
[admin@node21 module]$ cd storm-1.2.2
[admin@node21 storm-1.2.2]$ mkdir logs

3.修改yaml配置文件

[admin@node21 storm-1.2.2]$ vi conf/storm.yaml 

1)storm.zookeeper.servers:這是Storm集群的Zookeeper集群中的主機列表。

2storm.local.dir:Nimbus和Supervisor守護進程需要本地磁盤上的目錄來存儲少量狀態(如jar,confs和類似的東西)。您應該在每台計算機上創建該目錄,為其提供適當的權限,然后使用此配置填寫目錄位置。

3)nimbus.seeds:工作節點需要知道哪些機器是主機的候選者才能下載拓撲罐和confs。

4)supervisor.slots.ports:對於每個工作者計算機,您可以使用此配置配置在該計算機上運行的工作程序數。每個工作人員使用單個端口接收消息,此設置定義哪些端口可以使用。如果您在此處定義了五個端口,那么Storm將分配最多五個工作人員在此計算機上運行。如果定義三個端口,Storm最多只能運行三個端口。默認情況下,此設置配置為在端口6700,6701,6702和6703上運行4個工作程序。

4.分發Storm到其他節點

[admin@node21 module]$ scp -r storm-1.2.2/ node22:`pwd`
[admin@node21 module]$ scp -r storm-1.2.2/ node23:`pwd`

5.配置環境變量

[admin@node21 module]$ sudo vi /etc/profile
export STORM_HOME=/opt/module/storm-1.2.2
export PATH=$PATH:$STORM_HOME/bin
[admin@node21 module]$ source /etc/profile

6.啟動集群

  • 啟動zookeeper集群,各個節點執行
$ zkServer.sh start
  • 啟動storm集群

node21上啟動Nimbus,啟動webUI

[admin@node21 storm-1.2.2]$ ./bin/storm nimbus >> ./logs/nimbus.out 2>&1 &
[admin@node21 storm-1.2.2]$ ./bin/storm ui >> ./logs/ui.out 2>&1 &

node22和node23啟動supervisor,按照配置,每啟動一個supervisor就有了4個slots

[admin@node22 storm-1.2.2]$ ./bin/storm supervisor >> ./logs/supervisor.out 2>&1 &
[admin@node23 storm-1.2.2]$ ./bin/storm supervisor >> ./logs/supervisor.out 2>&1 &

7.查看進程

8.查看WebUI

WebUI查看地址:http://node21:8080/

9.編寫storm服務腳本

node21上   start-stormCluster.sh

#!/bin/bash
echo  "********************     正在啟動nimbus服務     *******************"
ssh   admin@node21 '/opt/module/storm-1.2.2/bin/storm nimbus >> /opt/module/storm-1.2.2/logs/nimbus.out 2>&1 &'
echo  "*********************    正在啟動webUi服務   ******************"
ssh   admin@node21 '/opt/module/storm-1.2.2/bin/storm ui >> /opt/module/storm-1.2.2/logs/ui.out 2>&1 &'
echo  "********************     正在啟動supervisor服務     *******************"
ssh   admin@node22 '/opt/module/storm-1.2.2/bin/storm supervisor >> /opt/module/storm-1.2.2/logs/supervisor.out 2>&1 &'
ssh   admin@node23 '/opt/module/storm-1.2.2/bin/storm supervisor >> /opt/module/storm-1.2.2/logs/supervisor.out 2>&1 &'
echo  "******************      服務啟動成功      *******************"*

給腳本賦權限 :chmod +x 腳本名稱

四.故障排除

參考文檔:http://storm.apache.org/releases/1.2.2/Troubleshooting.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM