一、Storm集群安装部署
网上关于storm集群部署都大同小异。
Storm下载地址:http://storm-project.net Storm项目地址:https://github.com/nathanmarz/storm
目前的版本不支持ZooKeeper3.4.5版本,而支持ZooKeeper3.3.3版本。
我当时没注意这个问题,部署一直不成功,又不想换zk版本,索性自己编译支持zk3.4.5的源码。
暂且不表编译源码的事,先说说Storm集群安装部署的步骤。
我主要参考的是这篇文章:http://www.cnblogs.com/panfeng412/archive/2012/11/30/how-to-install-and-deploy-storm-cluster.html
我用的是CentOS,在安装Storm依赖库的时候可能会遇到一些问题,大家根据错误提示安装依赖。
附带其他参考文章:
1、http://www.fuzhijie.me/?p=780
2、http://www.cnblogs.com/kemaswill/archive/2012/10/24/2737833.html
注意:Storm是依赖zk通信的,请先确保zk集群运行正常。zk启动失败有一点大家可能会忽视:防火墙没有关掉!!!
CentOS关闭防火墙的方法:/etc/init.d/iptables stop 永久关闭防火墙:chkconfig --level 35 iptables off
zk集群的安装部署:http://blog.chinaunix.net/uid-20498361-id-3184380.html
二、编译Storm源码
该支持zk345版本的源码:https://github.com/nathanmarz/storm/tree/0.9.0-zk345b
主要参考这篇文章:http://www.mbazhan.com/a/92.html
Storm 源码编译需要leiningen,而leiningen又依赖Maven,所以leiningen和Maven都需要安装好。
leiningen的安装:http://blog.csdn.net/sheismylife/article/details/8434148
注意:要将lein和mvn加到Path中
编译Storm源码为发行版,只需运行源码目录bin文件下的build_release.sh
在编译过程中我老是遇到这个错误:编译到back.type.storm.test4j报找不到back.type.storm.LocalCuster。
我解决的方法是:1、将storm-0.8.2.jar下back.type.storm.LocalCuster的所有相关的class文件copy到target文件夹下back.type.storm包下
2、然后用vi打开build_release.sh,注释掉$LEIN with-profile release clean
三、编译运行storm-starter
参考:
1、http://blog.csdn.net/guoqiangma/article/details/7212677
2、http://redwhiteblack.lofter.com/post/c00d6_39934a
storm-starter maven依赖包缺少twitter4j依赖包的解决方法:http://blog.sina.com.cn/s/blog_5ca749810101cepq.html
storm创建新项目:http://www.coderzhang.com/blog/storm%E5%88%9B%E5%BB%BA%E6%96%B0%E9%A1%B9%E7%9B%AE/
Q:Kill topology storm kill ${stormname} 报NotAliveException
看了Storm UI 显示Topology 是Active的,Topology的名字也没错,不知为何?!
有知道的同学麻烦说一下。