系统环境 Centos7
外网ip 182.254.145.66
内网ip 10.105.23.114
安装位置  /usr/local/jstorm-2.1.1







安装zookeeper

不过这篇博客有个问题


/datatmp/zookeeper/logs


这个文件夹是需要手动新建的




安装python

Centos7本身已经自带了Python2.7.5


使用python -V即可查看python的版本




安装JStorm

wget http://42.121.19.155/jstorm/jstorm-2.1.1.zip


unzip jstorm-2.1.1.zip


cd jstorm-2.1.1


修改配置文件conf/storm.yaml


我的storm.yaml如下: (已经去掉注释)


########### These MUST be filled in for a storm configuration
storm.zookeeper.servers:
- "10.105.23.114"


storm.zookeeper.root: "/jstorm"




nimbus.host: "10.105.23.114"
nimbus.host.start.supervisor: false

nimbus.childopts: "-Xmx256m"
supervisor.childopts: "-Xmx256m"
worker.childopts: "-Xmx128m"




storm.local.dir: "%JSTORM_HOME%/data"


supervisor.slots.ports:
- 6800
- 6801
- 6802
- 6803


yaml文件的格式比较麻烦 在这里,我就说一点 


在缩排中空白字符的数目并不是非常重要,只要相同阶层的元素左侧对齐就可以了(不过不能使用TAB字符);


我的/etc/hosts


127.0.0.1    localhost
10.105.23.114 VM_23_114_centos

/

2016-6-30日修改

我在我的虚拟机上搭建的jstorm的时候

私网地址是10.150.0.94 在hosts里面对应的域名也是localhost

结果报错Caused by: java.lang.Exception: the hostname which  supervisor get is localhost  

所以我把localhost改成了localhost2

然后重启网卡就OK 设置完后须运行/etc/init.d/network restart,否则不起作用


/




在~/.bashrc末尾加入:


export JSTORM_HOME=/usr/local/jstorm-2.1.1
export PATH=$PATH:$JSTORM_HOME/bin

然后 使环境变量生效:


source ~/.bashrc

配置完上面内容后,需要创建~/.jstorm目录,并将配置好的storm.yaml文件拷贝到该目录下:


mkdir ~/.jstorm
cp -f /usr/local/jstorm-2.1.1/conf/storm.yaml ~/.jstorm



安装JStorm UI

jstorm的安装目录下就有 jstorm-ui-2.1.1.war


先安装tomcat


wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.zip
unzip apache-tomcat-7.0.57.zip
cd apache-tomcat-7.0.57
chmod +x bin/*.sh

把放到tomcat的webapps的ROOT里,如果jstorm-ui-2.1.1只当做一个普通的项目与ROOT并列,会发现运行的时候JStorm有些图片显示不出来


cp ~/jstorm-2.1.1/jstorm-ui-2.1.1.war webapps/
mv ROOT ROOT.old
ln -s jstorm-ui-0.9.6.2 ROOT


java测试代码

见http://blog.csdn.net/xeseo/article/details/17683049






启动JStorm


先启动zookeeper


zookeeper-3.4.6/bin/zkServer.sh start



在jstorm-2.1.1/bin下

先启动nimbus与supervisor


nohup jstorm nimbus &
nohup jstorm supervisor &

然后去


/usr/local/jstorm-2.1.1/logs


下看nimbus.log与supervisor.log


看是否有错误


然后启动


./jstorm jar storm-samples.jar mystorm.ExclaimBasicTopo test

storm-samples.jar是之前的测试代码打成的jar包


mystorm.ExclaimBasicTopo是启动类


最后的test就是Topologyname


另外 再说明一下,那个jar里面是没有storm的依赖包的,就只有我们写的那些类


jstorm-2.1.1/lib下有需要的外部jar



查看JStormUI

访问182.254.145.66:8080


如下:


Centos7安装JStorm2.1.1_Centos7






参考资料


​ JStorm-0.9.6.2安装配置​


​ http://blog.csdn.net/shcyd/article/details/1354618  ​​​​Error contacting service. It is probably not running 错误​


​点击打开链接​​  Storm系列之最基本的例子


​   Storm详解二、写第一个Storm应用​