官网下载地址:http://storm.apache.org/downloads.html
这里下载最新的版本storm1.2.2,进入之后选择一个镜像下载
JDK 1.7+ 验证: java -version
Python 2.6.6+ 验证:python -V
[admin@node21 software]$ tar zxvf apache-storm-1.2.2.tar.gz -C /opt/module/
[admin@node21 software]$ cd /opt/module/apache-storm-1.2.2
[admin@node21 apache-storm-1.2.2]$ mkdir logs
[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
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"
[admin@node21 apache-storm-1.2.2]$ ./bin/storm dev-zookeeper >> ./logs/zk.out 2>&1 &
[admin@node21 apache-storm-1.2.2]$ ./bin/storm nimbus >> ./logs/nimbus.out 2>&1 &
[admin@node21 apache-storm-1.2.2]$ ./bin/storm ui >> ./logs/ui.out 2>&1 &
[admin@node21 apache-storm-1.2.2]$ ./bin/storm supervisor >> ./logs/supervisor.out 2>&1 &
[admin@node21 apache-storm-1.2.2]$ ./bin/storm logviewer ./logs/logviewer.out 2>&1 &
WebUI查看地址:http://node21:8080/
官网集群配置文档:http://storm.apache.org/releases/1.2.2/Setting-up-a-Storm-cluster.html
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集群与命令行操作
[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
[admin@node21 storm-1.2.2]$ vi conf/storm.yaml
1)storm.zookeeper.servers:这是Storm集群的Zookeeper集群中的主机列表。
2)storm.local.dir:Nimbus和Supervisor守护进程需要本地磁盘上的目录来存储少量状态(如jar,confs和类似的东西)。您应该在每台计算机上创建该目录,为其提供适当的权限,然后使用此配置填写目录位置。
3)nimbus.seeds:工作节点需要知道哪些机器是主机的候选者才能下载拓扑罐和confs。
4)supervisor.slots.ports:对于每个工作者计算机,您可以使用此配置配置在该计算机上运行的工作程序数。每个工作人员使用单个端口接收消息,此设置定义哪些端口可以使用。如果您在此处定义了五个端口,那么Storm将分配最多五个工作人员在此计算机上运行。如果定义三个端口,Storm最多只能运行三个端口。默认情况下,此设置配置为在端口6700,6701,6702和6703上运行4个工作程序。
[admin@node21 module]$ scp -r storm-1.2.2/ node22:`pwd`
[admin@node21 module]$ scp -r storm-1.2.2/ node23:`pwd`
[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
$ zkServer.sh start
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 &
WebUI查看地址:http://node21:8080/
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 脚本名称