storm的安装依赖 python、zookeeper等,因为mac下已经有python了,这里只需要安装storm和zookeeper即可;
1、下载storm的release版本, 解压,并且把bin/目录加到环境变量PATH里面去。
vim /etc/profile
#set storm
export STORM_HOME=/usr/local/storm
export PATH=$STORM_HOME/bin:$PATH
. /etc/profile
2、安装zookeeper
下载地址:http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.2/zookeeper-3.4.2.tar.gz
tar -zxvf zookeeper-3.4.2.tar.gz
cp -R zookeeper-3.4.2 /usr/local/
cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg [制作默认配置文件]
vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.2
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.2
export PATH=$PATH:$ZOOKEEPER_HOME/bin
3、下载storm-starter 编译,并导入eclipse 工程
1)下载strom starter的代码 git clone https://github.com/nathanmarz/storm-starter.git
2)使用mvn -f m2-pom.xml package 进行编译
3)复制 storm-starter目录下的m2_pom.xml 为pom.xml ,因为eclipse需要pom.xml
4)使用mvn eclipse:eclipse编译成eclipse工程
5)在Eclipse 中import 选择storm-starter 的路径,一般导入项目后,会需要设置相应的M2_查看工程是否无误,可能会需要配置M2_REPO变量,M2_REPO配置方法:工程上右键->Properties->Java Build Path->Libraries->AddVariable->Configure Variable->New输入Name:M2_REPO , Path:localRepository路径->ok刷新工程,代码无误了,可以进行开发了
6)编译无误后,现在本地跑storm.starter目录下的WordCountTopology,看到如下的截屏,代表本地的local模式可以跑通过使用eclipse的export功能导出项目的jar包,便于以后分布式的情况下,提交相应的逻辑
4、启动storm
1)先启动zookeeper,sh /usr/local/zookeeper/bin/zkServer start
2) 启动nimbus(主节点):/usr/local/storm/bin/storm nimbus
启动supervisor(从节点): /usr/local/storm/bin/storm supervisor
启动ui:/usr/local/storm/bin/storm ui
5、测试
/usr/local/storm/bin/storm jar storm-starter-0.0.1-SNAPSHOT.jar storm.starter.WordCountTopology test
此命令的作用就是用storm将jar发送给storm去执行,后面的test是定义的toplogy名称。
至此搞定,任务就发送到storm上运行起来了。
参考:
1.单机版本地文件pdf
2.Twitter strom 集群搭建
ps:集群版中缺少安装包以单机版的为准,下图为正确命令