帝国软件 首页 > 图书 > 科技 > 正文 返回 打印

Storm:大数据流式计算及应用实践

  2020-07-30 00:00:00  

Storm:大数据流式计算及应用实践 本书特色

storm作为实时的、分布式以及具备高容错的流式计算系统,对比适于海量数据批处理的hadoop,不仅简化了数据流上相关处理的并行编程复杂度,也提供了数据处理实时性、可靠性和集群节点动态伸缩的特性。本书通过各自章节的详细阐述和应用,全面介绍了storm的溯源发展、核心概念和集群配置、可靠性保障关键技术、常用的并行流模型编程范式,关键数据结构和源码解析等。本书的一大特色是,书中所有实例,均来自笔者所在团队的实际应用,是一个在智能交通背景下的城市道路车辆实时监控系统。

Storm:大数据流式计算及应用实践 内容简介

本书结合理论逐步落地实践,使读者不仅能够深入地了解当前大数据带来的挑战和机遇,还可以通过书中的案例获得更直观的感性认识,快速上手storm的开发,解决个性化实践处理的需求。

Storm:大数据流式计算及应用实践 目录

**篇 理论篇 流式数据处理概论
第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的基础原理
第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中的应用: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 transactional topology的构建与使用 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的开发
第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
附录 218
参考文献 232
后记 237

Storm:大数据流式计算及应用实践 作者简介

丁维龙,博士,2013 年1 月毕业于中国科学院计算技术研究所,现任教于北方工业大学,在大规模流数据集成与分析技术北京市重点实验室从事实时数据处理与分布式系统方向的研究,已在SCI 检索期刊和领域知名国际会议发表多篇学术论文,主持并参与多项科研课题。中国计算机学会(CCF)、ACM(Association for Computing Machinery)会员,目前是旗舰期刊IEEE Transaction on Service Computing、 IEEE Transactions onIndustrial Informatics 和计算机学报审稿人,同时担任第七届中国传感器网络学术会议(The 7th China Conference on China Wireless Sensor Networks, CCF CWSN2013)、IEEE SDPI workshop 的程序委员会成员。

Storm:大数据流式计算及应用实践

http://book.00-edu.com/tushu/kj1/202008/2647209.html