随笔分类 - 流计算与实时计算
摘要:说明:本文翻译自Storm在GitHub上的官方Wiki中提供的Storm代码结构描述一节Structure of the codebase,希望对正在基于Storm进行源码级学习和研究的朋友有所帮助。Storm的源码共分为三个不同的层次。首先,Storm在设计之初就考虑到了兼容多语言开发。Nimbus是一个thrift服务,topologies被定义为Thrift结构体.Thrift的运用使得Storm可以被任意开发语言使用。其次,Storm的所有接口都是Java语言来定义的。因此,尽管Storm中的很多功能实现都是Clojure代码,但是使用这些功能都必须通过Java API。这意味着St
阅读全文
摘要:本文详细介绍在linux环境中如何安装storm-0.8.1,此为单机环境下,如要安装集群,修改相关的配置文档即可。本次操作系统为CentOS-6.3。Storm运行需要几个依赖环境:1、java环境;2、zookeeper;3、zeromq(内部消息系统);4、jzmq(zeromq 的JAVA BINDING);5、python;首先要安装g++编译器,运行yum install gcc-c++命令进行安装即可。由于依赖的外部环境较多,所以按顺序安装(下面所有操作都是在root用户下进行):(1)安装Java运行环境: 下载JDK(http://www.oracle.com/technet
阅读全文
摘要:在storm0.8.1中,如果一个topology开的并发和worker比较大的时候,偶尔会报KeeperException$NoNodeException错:在storm-0.8.3的版本中已经修复,但是storm-0.8.3并没有发行的版本,可以通过编译自己的storm-0.8.1版本来修复这个问题:1、使用storm-0.8.3版本的storm.trident.topology.state.RotatingTransactionalState来替换storm-0.8.1的RotatingTransactionalState类2、重新编译strom源码3、把新的jar包替换集群中的stor
阅读全文
摘要:1、安装lein(官网上有安装教程,linux下非常简单)2、下载storm源码,选择自己需要的分支(https://github.com/nathanmarz/storm)3、lein deps (下载所依赖的包)4、lein compile (编译)5、leinuberjar (打包)最后,生成了两个jar,一个是storm的jar,另外一个是包含了所依赖包的storm的jar
阅读全文
摘要:storm的一些基本概念如下:1、topology(计算拓扑) 一个实时计算应用程序逻辑被封装在topology对象中,相当于hadoop里面的一个job,跟job不同的是,topology会一直运行直到你显式杀死它。一个topology是spout和bolt组成的图状结构,而链接spout和bolt的就是stream grouping。2、steam(消息流) 一个消息流是一个没有边界的tuple序列,这些tuples会被以一种分布式并行地创建和处理。对消息流的定义主要是对消息流里的tuple结构的定义,tuple里的每个字段一个名字,tuple字段类型可以是:integer、long、..
阅读全文

浙公网安备 33010602011771号