MetaQ原理调研及其安装部署

作者: blogchong | 分类: 原创-Storm实时处理 | 评论:1人 | 浏览:

1 文档说明

该文档MetaQ的调研文档及安装部署文档。对一个新的开源项目进行学习,个人喜欢对其先进行详细的调研,虽然网上关于MetaQ的资料众多,但个人喜欢将其以自己习惯的方式整理出来,方便以后查询。

More...

Storm实践问题锦集<5>

作者: blogchong | 分类: 原创-Storm实时处理 | 评论:0人 | 浏览:

1 文档说明

该文档包涵了storm实战中经常遇到一些问题,及对应解决方案。这个文档是群里的朋友在学习storm,并实战storm中遇到的一些问题,及和群里其他朋友一起交流给出的对应解决方案,供大家参考,希望能对大家有所帮助。

More...

Storm实践问题锦集<4>

作者: blogchong | 分类: 原创-Storm实时处理 | 评论:0人 | 浏览:

1 文档说明

该文档包涵了storm实战中经常遇到一些问题,及对应解决方案。这个文档是群里的朋友在学习storm,并实战storm中遇到的一些问题,及和群里其他朋友一起交流给出的对应解决方案,供大家参考,希望能对大家有所帮助。

More...

Storm实践问题锦集<3>

作者: blogchong | 分类: 原创-Storm实时处理 | 评论:1人 | 浏览:

1 文档说明

该文档包涵了storm实战中经常遇到一些问题,及对应解决方案。这个文档是群里的朋友在学习storm,并实战storm中遇到的一些问题,及和群里其他朋友一起交流给出的对应解决方案,供大家参考,希望能对大家有所帮助。

More...

Storm实践问题锦集<2>

作者: blogchong | 分类: 原创-Storm实时处理 | 评论:2人 | 浏览:

1 文档说明

该文档包涵了storm实战中经常遇到一些问题,及对应解决方案。这个文档是群里的朋友在学习storm,并实战storm中遇到的一些问题,及和群里其他朋友一起交流给出的对应解决方案,供大家参考,希望能对大家有所帮助。

More...

Storm实践问题锦集<1>

作者: blogchong | 分类: 原创-Storm实时处理 | 评论:0人 | 浏览:

1 文档说明

写该文档的起因是有个朋友整理了一些Storm相关的问题问我,我想刚好可以把这些问题收集下,整理成文档,更方便大家参考。

另外根据群中的一些朋友的问题也收集进去了。总体来说是比较基础的东西,希望对大家有用。此外,如果相关问题解决或者有其他问题的地方,希望大家提出来。

More...

Storm原理调研及部署文档

作者: blogchong | 分类: 原创-Storm实时处理 | 评论:0人 | 浏览:

 1 Storm调研

1.1 Storm简介

Twitter Storm 是使用 Clojure(发音同 closure)语言实现的。 Clojure 是 Lisp 语言的一种现代方言。类似于 Lisp,Clojure 支持一种功能性编程风格,但 Clojure 还引入了一些特性来简化多线程编程(一种对创建 Storm 很有用的特性)。Twitter列举了Storm的三大类应用:

1.信息流处理{Stream processing},Storm可用来实时处理新数据和更新数据库,兼具容错性和可扩展性。

2.连续计算{Continuous computation}

3.Storm可进行连续查询并把结果即时反馈给客户端,比如把Twitter上的热门话题发送到浏览器中。

3.分布式远程程序调用{Distributed RPC},Storm可用来并行处理密集查询。Storm的拓扑结构是一个等待调用信息的分布函数,当它收到一条调用信息后,会对查询进行计算,并返回查询结果。举个例子Distributed RPC可以做并行搜索或者处理大集合的数据。

Storm集群由一个主节点和多个工作节点组成。主节点运行了一个名为“Nimbus”的守护进程,用于分配代码、布置任务及故障检测。每个工作节点都运行了一个名为“Supervisor”的守护进程,用于监听工作,开始并终止工作进程。Nimbus和Supervisor都能快速失败,而且是无状态的,这样一来它们就变得十分健壮,两者的协调工作是由Apache ZooKeeper来完成的。

Storm的术语包括Stream、Spout、Bolt、Task、Worker、Stream Grouping和Topology。Stream是被处理的数据。Sprout是数据源。Bolt处理数据。Task是运行于Spout或Bolt中的 线程。Worker是运行这些线程的进程。Stream Grouping规定了Bolt接收什么东西作为输入数据。数据可以随机分配(术语为Shuffle),或者根据字段值分配(术语为Fields),或者 广播(术语为All),或者总是发给一个Task(术语为Global),也可以不关心该数据(术语为None),或者由自定义逻辑来决定(术语为 Direct)。Topology是由Stream Grouping连接起来的Spout和Bolt节点网络。

More...