之前已经在CentOS 6.7上安装部署Hadoop 2.7.2(http://www.jb51.cc/article/p-umbfvzwc-bew.html),并正常启动Hadoop集群。
Storm的依赖包:
- ZooKeeper(http://www.jb51.cc/article/p-zhprkxjs-bew.html)
- Java(安装部署Hadoop 2.7.2时,http://www.jb51.cc/article/p-umbfvzwc-bew.html)
- Python(安装CentOS 6.7系统时,系统自带的2.6.6)
之前已经安装过了。
master
[root@master ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/storm/apache-storm-0.9.7/apache-storm-0.9.7.tar.gz
[root@master ~]# tar -zxvf apache-storm-0.9.7.tar.gz
[root@master ~]# mv apache-storm-0.9.7 /usr/local/
Storm环境变量
[root@master ~]# vi /etc/profile.d/storm.sh
export STROM_HOME=/usr/local/apache-storm-0.9.7
export PATH=$PATH:STORM_HOME/bin
保存退出
[root@master ~]# source /etc/profile.d/storm.sh
storm.yaml
配置文件
[root@master ~]# vi /usr/local/apache-storm-0.9.7/conf/storm.yaml
# storm.zookeeper.servers:
# - "server1"
# - "server2"
#
# nimbus.host: "nimbus"
为
storm.zookeeper.servers:
- "master" - "slave" nimbus.host: "master"
保存退出
nimbus.host: Storm
集群Nimbus机器地址storm.zookeeper.servers: Storm
集群使用的ZooKeeper集群地址
[root@master ~]# rsync -av /usr/local/apache-storm-0.9.7 slave:/usr/local/
[root@master ~]# rsync -av /etc/profile.d/storm.sh slave:/etc/profile.d/
slave
[root@slave ~]# source /etc/profile.d/storm.sh
启动Storm集群
master
[root@master ~]# /usr/local/zookeeper-3.4.9/bin/zkServer.sh start
[root@master ~]# /usr/local/apache-storm-0.9.7/bin/storm nimbus >/dev/null 2>&1 &
[root@master ~]# /usr/local/apache-storm-0.9.7/bin/storm ui >/dev/null 2>&1 &
slave
[root@slave ~]# /usr/local/zookeeper-3.4.9/bin/zkServer.sh start
[root@slave ~]# /usr/local/apache-storm-0.9.7/bin/storm supervisor>/dev/null 2>&1 &
浏览器访问master:8080,如果安装并启动成功,会看到监控界面,通过此页面可观察集群的 Worker 资源使用情况、Topology的运行状态等信息。
向Strom集群提交任务
master
启动Topology
[root@master ~]# cd /usr/local/apache-storm-0.9.7/
[root@master apache-storm-0.9.7]# bin/storm jar ./examples/storm-starter/storm-starter-topologies-0.9.7.jar storm.starter.ExclamationTopology exclamation-topology
[root@master apache-storm-0.9.7]# echo $?
0
- 注:
jar
命令是专门负责提交任务使用的,storm-starter-topologies-0.9.7.jar
是包含Topology 实现代码的 JAR 包,storm.starter.ExclamationTopology
的main
方法是 Topology 的入口。
停止Topology
[root@master apache-storm-0.9.7]# bin/storm kill exclamation-topology
[root@master apache-storm-0.9.7]# echo $?
0
- 注:
exclamation-topology
为 Topology 提交到 Storm 集群时指定的 Topology 任务名称。