出版社:电子工业出版社
年代:2014
定价:48.0
Storm作为实时的、分布式以及具备高容错的流式计算系统,,对比适于海量数据批处理的hadoop,不仅简化了数据流上相关处理的并行编程复杂度,也提供了数据处理实时性、可靠性和集群节点动态伸缩的特性。。本书通过各自章节的详细阐述和应用,全面介绍了Storm的溯源发展、核心概念和集群配置、可靠性保障关键技术、常用的并行流模型编程范式,关键数据结构和源码解析等。本书的一大特色是,书中所有实例,均来自笔者所在团队的实际应用,是一个在智能交通背景下的城市道路车辆实时监控系统。
第一篇 理论篇 流式数据处理概论
第1章 大数据环境下的云计算与物联网
1.1 云计算与物联网
1.1.1 云计算
1.1.2 物联网
1.2 大数据下的新挑战
1.2.1 大数据及其特征
1.2.2 大数据处理的技术挑战
1.3 本章小结
第2章 流式实时数据处理:理论与技术
2.1 流式数据与流式实时计算
2.1.1 流式数据
2.1.2 流式实时计算
2.2 流式数据处理的系统与应用
2.2.1 发展与挑战
2.2.2 Hadoop .0生态圈
2.3 Storm
2.3.1 起源与发展:Twitter的开源与影响
2.3.2 功能
2.3.3 特色:可扩展、可靠的分布式流式数据处理
2.4 其他开源流式数据处理系统
2.4.1 Yahoo S4
2.4.2 Spark Streaming
2.4.3 Facebook Puma
2.5 本章小结
第3章 实际案例:城市道路车辆 数据的实时监控分析系统
3.1 背景与需求分析
3.1.1 背景
3.1.2 数据处理的业务需求
3.2 数据处理系统的架构设计与技术选型
3.2.1 架构设计
3.2.2 技术选型
3.3 本章小结
第二篇 应用基础篇 流式数据处理系统Storm的基础原理
第4章 Storm的系统模型:架构与组成
4.1 系统架构与部署模式
4.1.1 系统架构
4.1.2 单机/分布式部署
4.1.3 本地模式
4.2 系统节点
4.2.1 Zookeeper:协调节点
4.2.2 nimbus:主控节点
4.2.3 supervisor:工作节点
4.2.4 UI:控制台节点
4.3 本章小结
第5章 Storm的通信模型
5.1 Thrift: 可扩展且跨语言的通信软件框架
5.1.1 Thrift的基础概念
5.1.2 基于Thrift的数据通信
5.2 Thrift在Storm中的应用:系统节点间的通信
5.2.1 接口的定义与实现
5.2.2 客户端与Storm系统的通信
5.3 ZeroMQ在Storm中的应用:Storm作业任务间的通信
5.3.1 ZeroMQ:面向分布式并发应用的高性能异步消息处理库
5.3.2 Tuple与declareOutputFields(): 数据项结构及声明
5.4 Storm 可配置的通信机制
5.5 本章小结
第6章 Storm的作业单元:Topology
6.1 Topology结构及构成
6.2 Stream:组件间的数据传递
6.2.1 概述
6.2.2 Stream Grouping: 流组模式
6.2.3 自定义流组
6.3 构建Topology
6.3.1 TopologyBuilder与Config
6.3.2 Topology构建示例
6.3.3 Topology常见的编程模式
6.4 本章小结
第7章 Storm的数据源编程单元:Spout
7.1 Spout的接口与实现
7.1.1 Spout与接口层次结构
7.1.2 ISpout和IComponent接口
7.1.3 接口的实现类及实例
7.2 Spout的使用模式
7.2.1 直接连接
7.2.2 队列连接
7.3 Spout与数据的可靠性
7.3.1 可靠的Spout与不可靠的Spout
7.3.2 可靠的Spout的数据项管理
7.4 本章小结
第8章 Storm的数据处理编程单元:Bolt
8.1 Bolt的接口与实现
8.1.1 Bolt与接口层次
8.1.2 IBolt和IComponent接口
8.1.3 接口的实现类及实例
8.2 Bolt与数据的可靠性
8.2.1 可靠的Bolt与不可靠的Bolt
8.2.2 可靠的Bolt的数据项管理
8.2.3 IBasicBolt和BaseBasicBolt
8.3 本章小结
第9章 Storm的保障能力
9.1 Storm的功能性保障:多粒度的并行化
9.1.1 并发模型
9.1.2 并行度配置
9.1.3 可插拔的自定义调度器
9.2 Storm的非功能性保障:多级别的可靠性
9.2.1 不同级别的容错机制
9.2.2 记录级容错:保障数据项不丢失
9.2.3 记录级容错的原理:acker任务与追踪算法
9.3 本章小结
第10章 Storm的特定应用
10.1 分布式远程过程调用
10.1.1 概述
10.1.2 DRPC的构建与使用
10.1.3 Storm的DRPC原理
10.2 事务型作业
10.2.1 概述
10.2.2 Transactional Topology的构建与使用
10.2.3 Transactional Topology的编程接口与事务型的实现
10.2.4 CoordinatedBolt的原理
10.3 非Java语言的开发
10.3.1 支持多语言的协议
10.3.2 Shell组件
10.4 本章小结
第三篇 应用实践篇 基于流式数据处理系统Storm的开发
第11章 Storm的系统部署
11.1 系统环境
11.2 依赖程序的安装
11.2.1 libuuid, libuuid-devel, gcc-c++, libtool
11.2.2 ZeroMQ和JZMQ
11.3 Storm的安装与配置
11.3.1 Zookeeper的安装与配置
11.3.2 单机模式和集群模式下Storm的安装、配置和启动
11.3.3 Storm各节点的服务启动
11.4 Storm集群水平扩展工作节点
11.5 本章小结
第12章 Storm应用的开发与调试
12.1 Eclipse环境下的Storm工程
12.1.1 Eclipse开发环境
12.1.2 将Storm-starter组织为Eclipse工程
12.2 Storm应用的开发、调试与部署
12.2.1 本地开发与调试
12.2.2 远程部署
12.3 常见问题与应对技巧
12.3.1 ZeroMQ版本
12.3.2 Zookeeper日志清理
12.3.3 Topology作业的打包与远程部署
12.4 本章小结
第13章 项目案例分析
13.1 业务计算的设计
13.1.1 需求分析
13.1.2 概要设计
13.2 业务计算的实现
13.2.1 Topology的构建
13.2.2 JmsSpout的实现
13.2.3 三个Bolt的实现
13.3 本章小结
附录
参考文献
后记
Storm作为实时的、分布式以及具备高容错的流式计算系统,对比适于海量数据批处理的hadoop,不仅简化了数据流上相关处理的并行编程复杂度,也提供了数据处理实时性、可靠性和集群节点动态伸缩的特性。本书通过各自章节的详细阐述和应用,全面介绍了Storm的溯源发展、核心概念和集群配置、可靠性保障关键技术、常用的并行流模型编程范式,关键数据结构和源码解析等。本书的一大特色是,书中所有实例,均来自笔者所在团队的实际应用,是一个在智能交通背景下的城市道路车辆实时监控系统。
本书结合理论逐步落地实践,使读者不仅能够深入地了解当前大数据带来的挑战和机遇,还可以通过书中的案例获得更直观的感性认识,快速上手Storm的开发,解决个性化实践处理的需求。
李明, 王晓鹏, 编著
(美) 肖恩 T.艾伦 (Sean T. Allen) , 等著
赵必厦, 程丽明, 编著
马延辉, 陈书美, 雷葆华, 著
赵必厦, 程丽明, 编著
(澳) 安德森 (Anderson,Q.) , 著
陈敏敏, 王新春, 黄奉线, 著
(美) 吉奥兹 (Goetz,P.T.) , (美) 奥尼尔 (O’Neill,B.) , 著
阿里巴巴集团数据平台事业部商家数据业务部, 编著