当前位置:首页 > 工业技术
Storm  大数据流式计算及应用实践
Storm  大数据流式计算及应用实践

Storm 大数据流式计算及应用实践PDF电子书下载

工业技术

  • 电子书积分:10 积分如何计算积分?
  • 作 者:丁维龙,赵卓峰,韩燕波编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121195686
  • 页数:250 页
图书介绍:Storm作为实时的、分布式以及具备高容错的流式计算系统,,对比适于海量数据批处理的hadoop,不仅简化了数据流上相关处理的并行编程复杂度,也提供了数据处理实时性、可靠性和集群节点动态伸缩的特性。。本书通过各自章节的详细阐述和应用,全面介绍了Storm的溯源发展、核心概念和集群配置、可靠性保障关键技术、常用的并行流模型编程范式,关键数据结构和源码解析等。本书的一大特色是,书中所有实例,均来自笔者所在团队的实际应用,是一个在智能交通背景下的城市道路车辆实时监控系统。
《Storm 大数据流式计算及应用实践》目录

第一篇 基础篇 流式数据处理概论 3

第1章 大数据环境下的云计算与物联网 3

1.1 云计算与物联网 3

1.1.1 云计算 3

1.1.2 物联网 6

1.2 大数据下的新挑战 8

1.2.1 大数据及其特征 8

1.2.2 大数据处理的技术挑战 11

1.3 本章小结 14

第2章 流式计算的理论与技术 15

2.1 流式数据与流式实时计算 15

2.1.1 流式数据 15

2.1.2 流式实时计算 18

2.2 流式数据处理的系统与应用 20

2.2.1 发展与挑战 20

2.2.2 Hadoop 2.0生态圈 22

2.3 Storm 27

2.3.1 起源与发展:Twitter的开源与影响 27

2.3.2 功能 29

2.3.3 特色:可扩展、可靠的分布式流式数据处理 30

2.4 其他开源流式数据处理系统 34

2.4.1 Yahoo S4 34

2.4.2 Spark Streaming 37

2.4.3 Facebook Puma 41

2.5 本章小结 42

第3章 实际案例:城市道路车辆数据的实时监控分析系统 43

3.1 背景与需求分析 43

3.1.1 背景 43

3.1.2 数据处理的业务需求 45

3.2 数据处理系统的架构设计与技术选型 46

3.2.1 架构设计 46

3.2.2 技术选型 48

3.3 本章小结 49

第二篇 系统篇流式数据处理系统Storm的基础原理 53

第4章 Storm的系统架构 53

4.1 系统架构与部署模式 53

4.1.1 系统架构 53

4.1.2 单机/分布式部署 56

4.1.3 本地模式 58

4.2 系统节点 59

4.2.1 Zookeeper:协调节点 59

4.2.2 nimbus:主控节点 63

4.2.3 supervisor:工作节点 65

4.2.4 UI:控制台节点 68

4.3 本章小结 70

第5章 Storm的通信模型 71

5.1 Thrift:可扩展、跨语言的通信软件框架 71

5.1.1 Thrift的基础概念 71

5.1.2 基于Thrift的数据通信 74

5.2 Thrift在Storm中的应用:系统节点间的通信 75

5.2.1 接口的定义与实现 75

5.2.2 客户端与Storm系统的通信 82

5.3 ZeroMQ在Storm中的应用:作业任务间的通信 83

5.3.1 ZeroMQ:面向分布式并发应用的高性能异步消息处理库 83

5.3.2 Tuple与declareOutputFields():数据项结构及声明 86

5.4 Storm可配置的通信机制 89

5.5 本章小结 90

第6章 Storm的作业单元:Topology 91

6.1 Topology的构成 91

6.2 Stream:组件间的数据传递 93

6.2.1 概述 93

6.2.2 Stream Grouping:流组模式 94

6.2.3 自定义流组 101

6.3 构建Topology 104

6.3.1 TopologyBuilder与Config 104

6.3.2 Topology构建示例 106

6.3.3 Topology常见的编程模式 107

6.4 本章小结 109

第7章 Storm的数据源编程单元:Spout 110

7.1 Spout的接口与实现 110

7.1.1 Spout与接口层次 110

7.1.2 ISpout和IComponent接口 111

7.1.3 接口的实现类及实例 113

7.2 Spout的使用模式 115

7.2.1 直接连接 115

7.2.2 队列连接 119

7.3 Spout与数据的可靠性 121

7.3.1 可靠的Spout与不可靠的Spout 121

7.3.2 可靠的Spout的数据项管理 122

7.4 本章小结 125

第8章 Storm的数据处理编程单元:Bolt 126

8.1 Bolt的接口与实现 126

8.1.1 Bolt与接口层次 126

8.1.2 IBolt和IComponent接口 127

8.1.3 接口的实现类及实例 131

8.2 Bolt与数据的可靠性 133

8.2.1 可靠的Bolt与不可靠的Bolt 133

8.2.2 可靠的Bolt的数据项管理 133

8.2.3 IBasicBolt和BaseBasicBolt 136

8.3 本章小结 137

第9章 Storm的保障机制 138

9.1 Storm的功能性保障:多粒度的并行化 138

9.1.1 并发模型 138

9.1.2 并行度配置 139

9.1.3 可插拔的自定义调度器 144

9.2 Storm的非功能性保障:多级别的可靠性 149

9.2.1 不同级别的容错机制 149

9.2.2 记录级容错:保障数据项不丢失 151

9.2.3 记录级容错的原理:acker任务与追踪算法 157

9.3 本章小结 164

第10章 Storm的高层使用模式 165

10.1 分布式远程过程调用 165

10.1.1 概述 165

10.1.2 DRPC的构建与使用 166

10.1.3 Storm的DRPC原理 171

10.2 事务型作业 173

10.2.1 概述 173

10.2.2 TransactionalTopology的构建与使用 175

10.2.3 Transactional Topology的编程接口与事务型作业的实现 179

10.2.4 CoordinatedBolt的原理 181

10.3 非Java语言的开发 182

10.3.1 支持多语言的协议 182

10.3.2 Shell组件 187

10.4 本章小结 189

第三篇 应用篇基于流式数据处理系统Storm的开发 193

第11章 Storm的系统部署 193

11.1 系统环境 193

11.2 依赖程序的安装 194

11.2.1 libuuid,libuuid-devel,gcc-c++,libtool 194

11.2.2 ZeroMQ和JZMQ 196

11.3 Storm的安装与配置 198

11.3.1 Zookeeper的安装与配置 198

11.3.2 单机模式和集群模式下Storm的安装、配置和启动 200

11.3.3 Storm各节点的服务启动 203

11.4 Storm集群水平扩展工作节点 206

11.5 本章小结 207

第12章 Storm应用的开发与调试 208

12.1 Eclipse环境下的Storm工程 208

12.1.1 Eclipse开发环境 208

12.1.2 将Storm-starter组织为Eclipse工程 210

12.2 Storm应用的开发、调试与部署 212

12.2.1 本地开发与调试 212

12.2.2 远程部署 213

12.3 常见问题与应对技巧 215

12.3.1 ZeroMQ版本 215

12.3.2 Zookeeper日志清理 216

12.3.3 Topology作业的打包与远程部署 216

12.4 本章小结 217

第13章 项目案例分析 218

13.1 业务计算的设计 218

13.1.1 需求分析 218

13.1.2 概要设计 219

13.2 业务计算的实现 220

13.2.1 Topology的构建 220

13.2.2 JmsSpout的实现 222

13.2.3 三个Bolt的实现 224

13.3 本章小结 229

附录 230

参考文献 244

后记 249

相关图书
作者其它书籍
返回顶部