Storm使用Zookeeper来协调群集,在安装storm之前首先确保ZooKeeper集群已经搭建好了。
下载storm 下载地址 http://storm.apache.org/downloads.html
下载完成后上传到linux服务器解压
配置环境变量(可选)
export STORM_HOME=/home/chs/software/apache-storm-1.2.1 export PATH=$STORM_HOME/bin:$PATH
进入到解压目录中的conf中 修改storm.yaml文件
cd /home/chs/software/apache-storm-1.2.1/conf
vim storm.yaml
storm.zookeeper.servers: - "master" - "slave" - "slave2" nimbus.seeds: ["master", "slave"]
storm.zookeeper.servers:这是Storm集群的Zookeeper集群中的主机列表,这里设置了一个主节点master和两个从节点slave和slave2
nimbus.seeds:工作节点需要知道哪些机器是主节点的候选人。为了防止nimbus挂掉,可以配置两个主机,这里设置了master 和 slave 。一个挂掉了可以使用另一个
配置完成之后把解压目录全部复制道两个从节点上
scp -r apache-storm-1.2.1 slave:/home/chs/software scp -r apache-storm-1.2.1 slave2:/home/chs/software
环境变量也可以复制过去也可以去那边配置
启动storm 集群
Nimbus:在 Storm 主控节点上运行(即 master)
Supervisor:在 Storm 各个工作节点上运行(即 slave)
UI:在 Storm 主控节点上运行,启动 UI 后台程序
在 Master 节点,启动如下服务到后台:
storm nimbus >/dev/null 2>&1 & storm ui >/dev/null 2>&1 &
在 Slave 节点,启动如下服务到后台:
storm supervisor>/dev/null 2>&1 &
命令的意思是:
bin/storm nimbus会有两个输出,一个标准输出,一个错误输出
2>&1的作用是将 2即错误输出 的内容重定向到&1即标准输出中。
然后>/dev/null是将两者的结果输入到/dev/null中,相当于抛弃掉。
至于最后一个&,因为storm会一直运行,不会自动停掉,页面上就会不停的有内容。&的作用就是将storm拿到后台执
浏览器打开地址 http://master:8080 如果能看到Storm UI 界面就说明安装成功了。
向 Storm 集群提交 Topology 任务只需要运行 JAR 包中的 Topology 即可比如
storm jar ./examples/storm-starter/storm-demo.jar storm.starter.ExclamationTopology exclamation-topology
jar 命令是专门负责提交任务使用的, storm-demo.jar 是包含Topology 实现代码的 JAR 包, storm.starter.ExclamationTopology 的 main 方法是 Topology 的入口
在 Storm 主目录下,执行 kill 命令停止之前已经提交的 Topology:
storm kill exclamation-topology