jstorm的安装有不少方式,这里主要讲述的是Standalone模式,其它模式请查看官方文档。java
首先下载安装包,地址https://github.com/alibaba/jstorm/releases/download/2.1.1/jstorm-2.1.1.ziplinux
而后配置环境变量git
export JSTORM_HOME=/opt/jstorm/jstorm-2.1.1 export PATH=$PATH:$JSTORM_HOME/bin
为了保险,在bashrc中作一样的操做,而后执行github
source /etc/profile
配置hostname,使hostname -i命令任什么时候候都不出现127.0.0.1web
切换到安装目录,解压安装包,cd到conf目录,编辑storm.yamlapache
storm.zookeeper.servers: - "10.5.3.100" - "10.5.3.101" - "10.5.3.102" storm.zookeeper.root: "/jstorm" nimbus.host: "10.5.3.100" storm.local.dir: "%JSTORM_HOME%/data"
注意:tomcat
一、每一行配置开头必须有空格,不然报错bash
二、zookeeper端口必须一致,默认2128app
三、不能写hostname只能写ipwebapp
配置完成后,将安装包分发到其它机器上,在nimbus节点执行
nohup jstorm nimbus &
执行stop.sh关闭nimbus
在supervisor执行
nohup jstorm supervisor &
执行stop.sh关闭supervisor
当出现
get supervisor host error!java.lang.Exception: the hostname which supervisor get is localhost at com.alibaba.jstorm.daemon.supervisor.Heartbeat.initSupervisorInfo(Heartbeat.java:113) [jstorm-core-2.1.1.jar:na] at com.alibaba.jstorm.daemon.supervisor.Heartbeat.<init>(Heartbeat.java:99) [jstorm-core-2.1.1.jar:na] at com.alibaba.jstorm.daemon.supervisor.Supervisor.mkSupervisor(Supervisor.java:123) [jstorm-core-2.1.1.jar:na] at com.alibaba.jstorm.daemon.supervisor.Supervisor.run(Supervisor.java:201) [jstorm-core-2.1.1.jar:na] at com.alibaba.jstorm.daemon.supervisor.Supervisor.main(Supervisor.java:237) [jstorm-core-2.1.1.jar:na][ERROR 2016-05-26 00:02:59 c.a.j.d.s.Supervisor:218 main] Fail to run supervisor java.lang.RuntimeException: java.lang.Exception: the hostname which supervisor get is localhost at com.alibaba.jstorm.daemon.supervisor.Heartbeat.initSupervisorInfo(Heartbeat.java:118) ~[jstorm-core-2.1.1.jar:na] at com.alibaba.jstorm.daemon.supervisor.Heartbeat.<init>(Heartbeat.java:99) ~[jstorm-core-2.1.1.jar:na] at com.alibaba.jstorm.daemon.supervisor.Supervisor.mkSupervisor(Supervisor.java:123) [jstorm-core-2.1.1.jar:na] at com.alibaba.jstorm.daemon.supervisor.Supervisor.run(Supervisor.java:201) [jstorm-core-2.1.1.jar:na] at com.alibaba.jstorm.daemon.supervisor.Supervisor.main(Supervisor.java:237) [jstorm-core-2.1.1.jar:na] Caused by: java.lang.Exception: the hostname which supervisor get is localhost at com.alibaba.jstorm.daemon.supervisor.Heartbeat.initSupervisorInfo(Heartbeat.java:113) ~[jstorm-core-2.1.1.jar:na] ... 4 common frames omitted
说明hostname没有配置正确
webui的war包在jstorm的安装目录,下载一个tomcat,而后将war拷贝到webapps下,而且解压到root文件夹,如下是官方命令
mkdir ~/.jstorm cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm 下载tomcat 7.x (以apache-tomcat-7.0.37 为例) tar -xzf apache-tomcat-7.0.37.tar.gz cd apache-tomcat-7.0.37 cd webapps cp $JSTORM_HOME/jstorm-ui-2.1.1.war ./ mv ROOT ROOT.old ln -s jstorm-ui-2.1.1 ROOT #这个地方可能变化,是根据你的JStorm版原本肯定,好比当0.9.6.1时,是ln -s jstorm-0.9.6.1 ROOT 另外不是 ln -s jstorm-ui-0.9.6.3.war ROOT 这个要当心 cd ../bin ./startup.sh
而后在建立~/.jstorm文件,并把jstorm的配置文件storm.yaml拷贝到这个文件夹下,编辑配置文件
storm.zookeeper.servers: - "10.5.3.100" - "10.5.3.101" - "10.5.3.102" storm.zookeeper.root: "/jstorm" nimbus.host: "10.5.3.100" storm.local.dir: "%JSTORM_HOME%/data" ui.clusters: - { name: "jstorm", zkRoot: "/jstorm", zkServers: [ "10.5.3.100","10.5.3.101","10.5.3.102"], zkPort: 2181, }
启动zookeeper集群,启动jstorm集群,启动tomcat。
访问http://ip:8080
storm的故障容忍型参照以下博客http://www.linuxidc.com/Linux/2015-02/113729.htm
当须要停机重启升级时:
一、kill Nimbus-》升级-》重启
二、kill Supervisor (当运行在此节点上的work所有转移到别的节点上时) -》升级-》重启
三、重复2,直到所有重启完毕
一、部署TOPOLOGY
jstorm jar /opt/hadoop/loganalyst/storm-dependend/data/teststorm-1.0.jar teststorm.TopologyMain /opt/hadoop/loganalyst/storm-dependend/data/words.txt
二、删除TOPOLOGY
jstorm kill {toponame}
三、激活TOPOLOGY
jstorm active {toponame}
四、不激活TOPOLOGY
jstorm deactivate {toponame}
五、列出全部TOPOLOGY
jstorm list