从原理到操作,还是有点距离 :)
基于 Linux ubuntu 3.13.0-24-generic
-------------
预备工作
* java
* python(>=2.6)
* zeromq
* jzmq
* zookeeper
下载(不需安装)
wget https://github.com/downloads/nathanmarz/storm/storm-0.8.1.zip
unzip storm-0.8.1.zip
cd storm-0.8.1/
配置--vim conf/storm.yaml
------------------------------------
# zookeeper的集群服务器地址(可多个)
storm.zookeeper.servers:
- "127.0.0.1"
# nimbus 服务器
# 各个Supervisor工作节点需要知道哪个机器是Nimbus,以便下载Topologies的jars、confs等文件
nimbus.host: "127.0.0.1"
# Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限
storm.local.dir: "/home/admin/storm/workdir"
# 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。
# 每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。
# 默认情况下,每个节点上可运行4个workers
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
------------------------------------
启动
bin/storm nimbus >/dev/null 2>&1 &
bin/storm supervisor >/dev/null 2>&1 &
bin/storm ui >/dev/null 2>&1 &
查看管理台(还比较粗糙)
http://127.0.0.1:8080
编写topology
- 下载storm相关库
* 在 http://storm.incubator.apache.org/downloads.html 下载
http://ftp.cuhk.edu.hk/pub/packages/apache.org/incubator/storm/apache-storm-0.9.1-incubating/apache-storm-0.9.1-incubating.tar.gz
- 在eclipse建立工程
* 导入上述storm库
* 如 http://tianhailong.com/%E6%9C%AC%E5%9C%B0%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8Cstorm%E7%9A%84demo.html 建立工程所需文件
* 导出工程为jar
* 创建输入文件 words.txt
* 放到先前 ubuntu 中,执行
java -jar storm_wordcount.jar words.txt
来源:oschina
链接:https://my.oschina.net/u/216880/blog/277684