storm-环境搭建和第一个topology

半腔热情 提交于 2019-11-30 07:26:50

从原理到操作,还是有点距离 :)

基于 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


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!