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