当前位置:主页 > 计算机电子书 > 行业软件及应用 > Storm下载
Storm企业级应用:实战、运维和调优

Storm企业级应用:实战、运维和调优 PDF 影印版

  • 更新:2019-06-22
  • 大小:101.4 MB
  • 类别:Storm
  • 作者:马延辉
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

Storm企业级应用:实战、运维和调优

Storm企业级应用:实战、运维和调优

读者评价

这本书主要举出了6个实例,来说明storm的应用。我只做了其中的三个实例,做不下去了。。。
书中的代码有明显的错误,而且有不少地方表述不清。此书浪费的太多的空间来讲程序的流程,尽管只是一个很简单的程序,还很煞有介事的画出了不少图。
再说说它的代码吧,可以直接从github上下载。可是呢?代码中的数组千疮百孔,如果自己不做任何修改的话,根本跑不起来。最令人可恨的是,写了web页面来展示数据,之前数据也存储进入了hbase,但是居然页面并没有读取 hbase,而是直接从 .csv 文件中获取很少的数据。
另外,代码的书写规范很烂的。很多代码都考虑不周。
这本书的第一作者原本是做 hadoop开发的,估计对storm也不是特别了解清楚吧。代码估计也是随意弄弄。
本想写邮件给第一作者,居然没有留邮箱,相关的论坛也关闭了。故此在豆瓣上留下一些评论,提醒大家。如果大家想了解一些storm的一些例子,可以看看。但是本书的内容以及代码确实糟糕的很呐!!!
期待有好的storm开发书出现。

内容介绍

《Storm企业级应用:实战、运维和调优》共11章,分为三篇。基础篇(第1~3章),介绍了Storm背景、基本原理、安装部署、核心概念和数据流模型。实战篇(第4~9章),通过6个典型的应用案例和代码示例,结合实践技巧和理论知识,深入讲解了如何使用Storm设计大型数据应用系统。技巧篇(第10~11章),重点介绍了Storm的特性、运维监控和性能调优等,并结合生产系统的性能优化、运维经验和使用技巧等方面进行讲解,旨在提升读者的实际操作经验。

本书没有过于繁琐和高深的理论,先系统介绍了Storm的设计思想、核心组件和适用场景,生产环境的搭建和部署,以及核心概念和数据模型;然后通过实时语音处理、网络流量分析、实时路况分析、数据质量实时监控、交通路况监控、广告实时流量统计等6典型的企业级案例讲解了如何应用Storm处理各种类型的大数据业务,每个案例都包括背景介绍、系统架构、模块设计和逻辑实现等组成部分,讲解十分详尽;最后从运维角度总结了Storm在安装部署、启动、运行等环节可能会出现的各种故障并给出了解决方案,以及Storm的各种技巧和最佳实践。

目录

  • 前 言
  • 基 础 篇
  • 第1章 认识Storm 2
  • 1.1 什么是实时流计算 2
  • 1.1.1 实时流计算背景 3
  • 1.1.2 实时计算应用场景 3
  • 1.1.3 实时计算处理流程 4
  • 1.1.4 实时计算框架 5
  • 1.2 Storm是什么 11
  • 1.2.1 Storm出现的背景 12
  • 1.2.2 Storm简介 12
  • 1.2.3 Storm的设计思想 13
  • 1.2.4 Storm与Hadoop的角色和组件比较 14
  • 1.3 Storm核心组件 15
  • 1.3.1 主节点Nimbus 15
  • 1.3.2 工作节点Supervisor 15
  • 1.3.3 协调服务组件ZooKeeper 16
  • 1.3.4 其他核心组件 16
  • 1.4 Storm的特性 16
  • 1.5 Storm的功能 18
  • 1.6 本章小结 19
  • 第2章 开始使用Storm 20
  • 2.1 环境准备 20
  • 2.1.1 系统配置 20
  • 2.1.2 安装ZooKeeper集群 22
  • 2.2 启动模式 26
  • 2.2.1 本地模式 26
  • 2.2.2 分布式模式 26
  • 2.3 安装部署Storm集群 26
  • 2.3.1 安装Storm依赖库 27
  • 2.3.2 安装Storm集群 28
  • 2.3.3 启动Storm集群 31
  • 2.3.4 停止Storm集群 33
  • 2.4 创建Topology并向集群提交任务 33
  • 2.4.1 创建Topology 34
  • 2.4.2 向集群提交任务 36
  • 2.5 本章小结 36
  • 第3章 核心概念和数据流模型 37
  • 3.1 Tuple元组 37
  • 3.1.1 Tuple描述 37
  • 3.1.2 Tuple的生命周期 38
  • 3.2 Spout数据源 39
  • 3.2.1 Spout介绍 39
  • 3.2.2 Spout实例 40
  • 3.3 Bolt消息处理者 42
  • 3.3.1 Bolt介绍 42
  • 3.3.2 Bolt实例 45
  • 3.4 Topology拓扑 47
  • 3.4.1 Topology实例 48
  • 3.4.2 Topology运行 51
  • 3.5 Stream消息流和Stream Grouping消息流组 55
  • 3.5.1 Stream消息流 55
  • 3.5.2 Stream Grouping消息流组 55
  • 3.6 Task任务 56
  • 3.7 Worker工作者进程 56
  • 3.8 Worker、Task、Executor三者之间的关系 57
  • 3.9 事务 57
  • 3.10 数据流模型 58
  • 3.10.1 数据流模型简介 58
  • 3.10.2 Storm数据流模型 60
  • 3.11 本章小结 61
  • 实 战 篇
  • 第4章 实例1:移动互联——语音“实时墙” 64
  • 4.1 业务背景 64
  • 4.1.1 案例背景 64
  • 4.1.2 设计目标 65
  • 4.1.3 数据格式 66
  • 4.1.4 硬件配置 68
  • 4.2 系统架构与模块设计 68
  • 4.2.1 整体架构 69
  • 4.2.2 数据采集 70
  • 4.2.3 数据实时处理 70
  • 4.2.4 存储设计 70
  • 4.2.5 Web实时展示 71
  • 4.2.6 硬件部署图 72
  • 4.3 核心模块实现 73
  • 4.3.1 实时处理业务逻辑实现 73
  • 4.3.2 Web展示实现 80
  • 4.3.3 最终效果呈现 88
  • 4.4 本章小结 89
  • 第5章 实例2:运营商——网络流量流向实时分析 90
  • 5.1 业务背景 90
  • 5.1.1 案例背景 91
  • 5.1.2 设计目标 91
  • 5.1.3 数据规模预估 92
  • 5.1.4 数据格式 92
  • 5.1.5 统计分析需求 93
  • 5.2 系统架构与模块设计 94
  • 5.2.1 整体架构 94
  • 5.2.2 数据源 95
  • 5.2.3 日志采集 96
  • 5.2.4 数据存储 96
  • 5.2.5 数据处理 97
  • 5.2.6 目标存储和扩展服务 97
  • 5.2.7 结果Web展示 97
  • 5.3 核心模块实现 98
  • 5.3.1 模拟数据实现 98
  • 5.3.2 日志采集和存储实现 102
  • 5.3.3 数据处理实现 105
  • 5.3.4 Web展示实现 111
  • 5.4 本章小结 114
  • 第6章 实例3:交通——基于GPS的实时路况分析 115
  • 6.1 业务背景 115
  • 6.1.1 案例背景 115
  • 6.1.2 设计目标 116
  • 6.1.3 数据格式 118
  • 6.1.4 实时路况分析方法 118
  • 6.2 系统架构和模块设计 118
  • 6.3 核心模块的实现 121
  • 6.3.1 安装Kafka集群 121
  • 6.3.2 Flume整合Kafka 124
  • 6.3.3 实时处理数据 125
  • 6.3.4 Web页面展示 127
  • 6.4 本章小结 129
  • 第7章 实例4:互联网——数据质量实时监控 130
  • 7.1 业务背景 130
  • 7.1.1 案例背景 130
  • 7.1.2 设计目标 132
  • 7.1.3 数据格式 132
  • 7.2 系统架构与模块设计 133
  • 7.2.1 整体架构 133
  • 7.2.2 结果Web展示 135
  • 7.3 核心模块实现 135
  • 7.3.1 模拟数据 135
  • 7.3.2 实时处理业务逻辑的实现 141
  • 7.3.3 Web界面实现 147
  • 7.3.4 最终效果图 150
  • 7.4 本章小结 152
  • 第8章 实例5:交通——超速频发路段监控 153
  • 8.1 业务背景 153
  • 8.1.1 案例背景 153
  • 8.1.2 数据类型 155
  • 8.2 系统架构和模块设计 157
  • 8.3 核心模块实现 158
  • 8.3.1 实现入口类Main 158
  • 8.3.2 数据源SocketSpout的实现 159
  • 8.3.3 实时处理MapSearchBolt和SpeedProcessBolt的实现 161
  • 8.3.4 目标存储DataBaseLoadBolt的实现 169
  • 8.4 本章小结 171
  • 第9章 实例6:互联网——广告实时流量统计 172
  • 9.1 广告实时流量统计系统架构 172
  • 9.1.1 广告数据 172
  • 9.1.2 详细需求描述 174
  • 9.1.3 系统架构 175
  • 9.2 表结构与模块设计 177
  • 9.2.1 表结构设计 177
  • 9.2.2 功能模块设计 178
  • 9.3 核心模块实现 179
  • 9.3.1 部署物理集群环境 179
  • 9.3.2 Kafka生产者逻辑的实现 181
  • 9.3.3 使用Storm-kafka实现业务逻辑 182
  • 9.3.4 使用HBase存储并实现统计 193
  • 9.4 本章小结 194
  • 技 巧 篇
  • 第10章 Storm常见故障及解决方法 196
  • 10.1 安装部署故障 196
  • 10.1.1 “no jzmq in java.library.path”异常 196
  • 10.1.2 “No rule to make target”异常 198
  • 10.1.3 “cannot access org.zeromq.ZMQ”异常 198
  • 10.1.4 缺少pkg-conf?ig异常 198
  • 10.1.5 “java.lang.Unsatisf?iedLinkError”异常 199
  • 10.1.6 “java.lang.NoClassDefFoundError:clojure.core.protocols$”异常 199
  • 10.1.7 “Error:cannot link with -luuid,install uuid-dev”异常 199
  • 10.1.8 “bad interpreter:No such f?ile or directory”异常 200
  • 10.1.9 “org.zeromq.ZMQException:Invalid argument”异常 200
  • 10.2 启动故障 201
  • 10.2.1 “java.io.FileNotFoundException”异常 201
  • 10.2.2 “java.io.EOFException”异常 202
  • 10.3 运行时故障 202
  • 10.3.1 “Nimbus host is not set”异常 203
  • 10.3.2 “AlreadyAliveException(msg:xxx is alreadyactive)”异常 203
  • 10.3.3 无法序列化log4j.Logger异常 203
  • 10.3.4 “Failing message”异常 203
  • 10.3.5 “java.io.NotSerializableException”异常 204
  • 10.3.6 “java.lang.NoClassDefFoundError”异常 205
  • 10.3.7 “java.net.NoRouteToHostException”异常 206
  • 10.3.8 “java.net.UnknownHostException”异常 206
  • 10.3.9 重复defaults.yaml资源文件异常 207
  • 10.3.10 “KeeperException$NoNodeException”异常 208
  • 10.3.11 “A fatal error has been detected by the Java Runtime Environment”错误 209
  • 10.3.12 “java.lang.ArrayIndexOutOfBoundsException”异常 212
  • 10.3.13 DRPC空指针异常 212
  • 10.3.14 Storm Thrift读取数据报错 212
  • 10.4 本章小结 214
  • 第11章 Storm使用技巧和最佳实践 215
  • 11.1 核心组件使用要点 215
  • 11.1.1 Spout和Bolt 215
  • 11.1.2 ZooKeeper集群尽量独立 219
  • 11.1.3 Thrift服务的应用场景 220
  • 11.1.4 序列化机制的使用场景 220
  • 11.2 集群配置技巧 220
  • 11.2.1 默认参数配置 220
  • 11.2.2 日志信息 223
  • 11.2.3 合理配置JVM参数 223
  • 11.3 集群运维技巧 224
  • 11.3.1 Storm计算结果的存储位置 224
  • 11.3.2 Storm集群动态增删节点 224
  • 11.3.3 关闭Storm相关进程 224
  • 11.3.4 Storm UI显示内容的问题 224
  • 11.4 项目开发技巧 225
  • 11.4.1 使用assembly插件打包 225
  • 11.4.2 依赖JAR冲突 228
  • 11.5 保证消息的可靠处理 228
  • 11.5.1 消息失败后的处理 228
  • 11.5.2 主动干预可靠性 229
  • 11.5.3 处理重复的Tuple 229
  • 11.6 理解DRPC原语 230
  • 11.6.1 DRPC工作流 230
  • 11.6.2 LinearDRPCTopologyBuilder实现类 231
  • 11.6.3 DRPC的两种模式 231
  • 11.7 快速理解一致性事务 232
  • 11.7.1 Trident框架的使用 233
  • 11.7.2 Trident框架的细节 234
  • 11.7.3 事务性Spout 236
  • 11.7.4 状态State 238
  • 11.8 本章小结 241

资源获取

资源地址1:https://pan.baidu.com/s/17ggSx2iZJI2YINSwDmqbwQ

相关资源

网友留言