没有合适的资源?快使用搜索试试~ 我知道了~
细细品味Storm_Storm简介及安装
需积分: 12 6 下载量 70 浏览量
2017-11-16
12:48:42
上传
评论
收藏 1.34MB PDF 举报
温馨提示
Storm分布式实时计算模式由Apache Storm 项目核心贡献者吉奥兹、奥尼尔亲笔撰 写,融合了作者丰富的Storm实战经验,通过大量示例,全面而系统地讲解使用Storm进行分布式实 时计算的核心概念及应用,并针对不同的应用场 景,给出多种基于Storm的设计模式,为读者快速 掌握Storms分布式实时计算提供系统实践指南。 《Storm分布式实时计算模式》分为10章:第l章介绍使用storm建立一 个分布式流式计算应用所涉及的核心概念,包括 storm的数据结构、开发环境的搭建,以及Storm 程序的开发和调试技术等;第2章详细讲解storm 集群环境的安装和搭建,以及如何将topology部署 到分布式环境中;第3章通过传感器数据实例详细 介绍Trident topology;第4章讲解如何使用Storm 和Tridentj挂行实时趋势分析;第5章介绍如何使用 Storm进行图形分析,将数据持久化存储在图形数 据库中,通过查询数据来发现其中潜在的联系;第 6章讲解如何在Storm上使用递归实现一个典型的人 工智能算法;第7章演示集成Storm和非事务型系统 的复杂性,通过集成Storm和开源探索性分析架构 Druid实现一个可配置的实时系统来分析金融事件。 第8章探讨Lambda体系结构的实现方法,讲解如何 将批处理机制和实时处理引擎结合起来构建一个可 纠错的分析系统;第9章讲解如何将Pig脚本转化为 topology,并且使用Storm-YARN部署topology,从 而将批处理系统转化为实时系统;第10章介绍如 何在云服务提供商提供的主机环境下部署和运行 Storm。
资源推荐
资源详情
资源评论
细细品味 Storm
——Storm 简介及安装
精
华
集
锦
csAxp
http://www.xiapistudio.com/
2015 年 6 月 11 日
创建时间:2015/6/11 修改时间:2015/8/17 修改次数:4
中国·北京——虾皮工作室(www.xiapistudio.com) 编辑:虾皮
1
目录
1、Storm 简介 ........................................................................................................ 2
1.1 主要特点................................................................................................... 2
1.2 基本概念................................................................................................... 4
1.3 基础架构................................................................................................... 5
1.4 工作原理................................................................................................... 7
1.5 亮点功能................................................................................................. 12
1.6 图形案例................................................................................................. 15
1.7 发展趋势................................................................................................. 18
2、Storm 安装 ...................................................................................................... 18
2.1 版本选择................................................................................................. 18
2.2 安装 Zookeeper ...................................................................................... 19
2.3 安装 Storm .............................................................................................. 20
2.4 集成 Kafka .............................................................................................. 21
2.5 启动 Storm .............................................................................................. 22
2.6 验证 Storm .............................................................................................. 22
3、参考文献......................................................................................................... 24
4、打赏小编......................................................................................................... 25
创建时间:2015/6/11 修改时间:2015/8/17 修改次数:4
中国·北京——虾皮工作室(www.xiapistudio.com) 编辑:虾皮
2
1、Storm 简介
Storm 是由专业数据分析公司 BackType 开发的一个分布式实时数据处理软件,可以简
单、高效、可靠地处理大量的数据流。Twitter 在 2011 年 7 月收购该公司,并于 2011 年 9 月
底正式将 Storm 项目开源。Storm 被托管在 GitHub 上,目前最新版本是 0.9.0.1。软件核心
部分使用 Clojure 开发,外围部分使用 Java 开发。Clojure(发音同 closure)是 Lisp 语言的
一种现代方言。类似于 Lisp,Clojure 支持一种功能性编程风格,但 Clojure 还引入了一些特
性来简化多线程编程(一种对创建 Storm 很有用的特性)。
Twitter 列举了 Storm 的三大类应用:
信息流处理(Stream Processing)
Storm 可用来实时处理新数据和更新数据库,兼具容错性和可扩展性。
连续计算(Continuous Computation)
Storm 可进行连续查询并把结果即时反馈给客户端。比如把 Twitter 上的热门话题
发送到浏览器中。
分布式远程程序调用(Distributed RPC)
Storm 可用来并行处理密集查询。Storm 的拓扑结构是一个等待调用信息分布函数,
当它收到一条信息后,会对查询进行计算,并返回查询结果。举个例子 Distributed
RPC 可以做并行搜索或者处理大集合的数据。
Storm 的主工程师 Nathan Marz 表示:Storm 可以方便地在一个计算机集群中编写与可
扩展的实时计算,Storm 之于实时处理,就好比 Hadoop 之于批处理。Storm 保证每个消息
都会得到处理,而且它很快——在一个小集群中,每秒可以处理数以百万计的消息。更棒的
是你可以使用任意编程语言来做开发。
当然 Storm 也存在一些缺点:开源版的 Storm 有个最大的缺点,就是只支持单 Nimbus
节点,一旦 Nimbus 节点挂掉就只能重启,存在单点失效的问题;Clojure 是一个在 JVM 上
运行的动态函数式编程语言,优势在于流程计算,Storm 的核心部分由 Clojure 编写,虽然
性能上提高不少但同时也提高了维护成本。
1.1 主要特点
Storm 拥有低延迟、高性能、分布式、可扩展、容错等特性,可以保证消息不丢失,消
息处理严格有序。Storm 的主要特点如下所示:
简单的编程模型。类似于 MapReduce 降低了并行批处理复杂性,Storm 降低了进
行实时处理的复杂性。
可以使用各种编程语言。你可以在 Storm 之上使用各种编程语言。默认支持 Clojure、
Java、Ruby 和 Python。要增加对其他语言的支持,只需实现一个简单的 Storm 通
信协议即可。
容错性。Storm 会管理工作进程和节点的故障。
水平扩展。计算是在多个线程、进程和服务器之间并行进行的。
可靠的消息处理。Storm 保证每个消息至少能得到一次完整处理。任务失败时,它
会负责从消息源重试消息。
创建时间:2015/6/11 修改时间:2015/8/17 修改次数:4
中国·北京——虾皮工作室(www.xiapistudio.com) 编辑:虾皮
3
快速。系统的设计保证了消息能得到快速的处理,使用 ØMQ 作为其底层消息队列。
本地模式。Storm 有一个“本地模式”,可以在处理过程中完全模拟 Storm 集群。
这让你可以快速进行开发和单元测试。
Storm 集群由一个主节点和多个工作节点组成。主节点运行了一个名为“Nimbus”的守
护进程,用于分配代码、布置任务及故障检测。每个工作节点都运行了一个名为“Supervisor”
的守护进程,用于监听工作,开始并终止工作进程。Nimbus 和 Supervisor 都能快速失败,
而且是无状态的,这样一来它们就变得十分健壮,两者的协调工作是由 Apache ZooKeeper
来完成的。
图 1.1 Storm 工作流程
第一步:客户端提交拓扑到 Nimbus。第二步:Nimbus 针对该拓扑建立本地的目录根据
topology 的配置计算 task,分配 task,在 zookeeper 上建立 assignments 节点存储 task 和
supervisor 机器节点中 woker 的对应关系。第三步:在 zookeeper 上创建 taskbeats 节点来监
控 task 的心跳,启动 topology。第四步:Supervisor 去 zookeeper 上获取分配的 tasks,启动
多个 woker 进行,每个 woker 生成 task,一个 task 一个线程;根据 topology 信息初始化建立
task 之间的连接;Task 和 Task 之间是通过 ZeroMQ 管理的;后整个拓扑运行起来。
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 节点网络。
剩余25页未读,继续阅读
资源评论
斜阳13
- 粉丝: 1
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功