系统环境 Centos7
外网ip 182.254.145.66
内网ip 10.105.23.114
安装位置 /usr/local/jstorm-2.1.1
安装zookeeper
参见
http://www.cnblogs.com/ilovexiao/p/3946547.html
不过这篇博客有个问题
/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-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
如下:
参考资料
JStorm-0.9.6.2安装配置
http://blog.csdn.net/shcyd/article/details/1354618
Error contacting service. It is probably not running 错误
点击打开链接 Storm系列之最基本的例子
Storm详解二、写第一个Storm应用