Storm分布式实时计算模式

Storm分布式实时计算模式

大数据技术丛书

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
6.921 评价豆瓣读书
免费试读
¥25.00¥16.99
今日特价截止至:2019-07-23 02:00:00了解详情

作品简介

本书由Apache Storm项目核心贡献者亲笔撰写,融合了作者丰富的Storm实战经验,通过大量示例,全面而系统地讲解使用Storm进行分布式实时计算的核心概念及应用,并针对不同的应用场景,给出多种基于Storm的设计模式,为读者快速掌握Storm分布式实时计算提供系统实践指南。

全书分为10章:第1章介绍使用Storm建立一个分布式流式计算应用所涉及的核心概念,包括Storm的数据结构、开发环境的搭建,以及Storm程序的开发和调试技术等;第2章详细讲解Storm集群环境的安装和搭建,以及如何将topology部署到分布式环境中;第3章通过传感器数据实例详细介绍Trident topology;第4章讲解如何使用Storm和Trident进行实时趋势分析;第5章介绍如何使用storm进行图形分析,将数据持久化存储在图形数据库中,通过查询数据来发现其中潜在的联系;第6章讲解如何在Storm上使用递归实现一个典型的人工智能算法;第7章演示集成Storm和非事务型系统的复杂性,通过集成Storm和开源探索性分析架构 Druid实现一个可配置的实时系统来分析金融事件。第8章探讨Lambda体系结构的实现方法,讲解如何将批处理机制和实时处理引擎结合起来构建一个可纠错的分析系统;第9章讲解如何将Pig脚本转化为topology,并且使用Storm-YARN部署topology,从而将批处理系统转化为实时系统;第10章介绍如何在云服务提供商提供的主机环境下部署和运行Storm。

作者:

吉奥兹(P. Taylor Goetz),是Apache Storm项目核心贡献者以及发布经理,自2011年10月Storm项目首次开源至今都参与其中,具有长期的Storm使用和开发经验。作为Storm用户社区中的活跃贡献者,Taylor领导了一系列开源项目,旨在使企业能够将Storm集成到不同的基础设施上。

奥尼尔(Brian O'Neill),现就职于Health Market Science(HMS)公司,任首席技术官,重点进行数据管理和医疗领域数据分析。他已经担任技术主管超过15年,被公认为大数据领域的权威。作为系统架构师,他有着应对各种不同场景的经验,从初创公司到财富500强公司。他信奉开源精神,对多个项目做出了贡献。他领导的项目,扩展了Cassandra数据库,并且将索引引擎、分布式处理框架、分析引擎集成到了该数据库中。他荣获了2013年InfoWorld技术领导力奖项。

译者:

董昭,腾讯安全平台部应用运维安全工程师,负责腾讯Web业务的漏洞防护等相关工作,研究兴趣为Web安全、网络安全、Linux后台开发、大数据等。

作品目录

  1. 译者序
  2. 前言
  3. 作者简介
  4. 第1章 分布式单词计数
  5. 1.1 Storm topology的组成部分——stream、spout和bolt
  6. 1.1.1 stream
  7. 1.1.2 spout
  8. 1.1.3 bolt
  9. 1.2 单词计数topology的数据流
  10. 1.2.1 语句生成spout
  11. 1.2.2 语句分割bolt
  12. 1.2.3 单词计数bolt
  13. 1.2.4 上报bolt
  14. 1.3 实现单词计数topology
  15. 1.3.1 配置开发环境
  16. 1.3.2 实现SentenceSpout
  17. 1.3.3 实现语句分割bolt
  18. 1.3.4 实现单词计数bolt
  19. 1.3.5 实现上报bolt
  20. 1.3.6 实现单词计数topology
  21. 1.4 Storm的并发机制
  22. 1.4.1 WordCountTopology的并发机制
  23. 1.4.2 给topology增加worker
  24. 1.4.3 配置executor和task
  25. 1.5 理解数据流分组
  26. 1.6 有保障机制的数据处理
  27. 1.6.1 spout的可靠性
  28. 1.6.2 bolt的可靠性
  29. 1.6.3 可靠的单词计数
  30. 总结
  31. 第2章 配置Storm集群
  32. 2.1 Storm集群的框架
  33. 2.1.1 理解nimbus守护进程
  34. 2.1.2 supervisor守护进程的工作方式
  35. 2.1.3 Apache ZooKeeper简介
  36. 2.1.4 Storm的DRPC服务工作机制
  37. 2.1.5 Storm UI
  38. 2.2 Storm技术栈简介
  39. 2.2.1 Java和Clojure
  40. 2.2.2 Python
  41. 2.3 在Linux上安装Storm
  42. 2.3.1 安装基础操作系统
  43. 2.3.2 安装Java
  44. 2.3.3 安装ZooKeeper
  45. 2.3.4 安装Storm
  46. 2.3.5 运行Storm守护进程
  47. 2.3.6 配置Storm
  48. 2.3.7 必需的配置项
  49. 2.3.8 可选配置项
  50. 2.3.9 Storm可执行程序
  51. 2.3.10 在工作站上安装Storm可执行程序
  52. 2.3.11 守护进程命令
  53. 2.3.12 管理命令
  54. 2.3.13 本地调试/开发命令
  55. 2.4 把toplogy提交到集群中
  56. 2.5 自动化集群配置
  57. 2.6 Puppet的快速入门
  58. 2.6.1 Puppet manifest文件
  59. 2.6.2 Puppet类和模块
  60. 2.6.3 Puppet模板
  61. 2.6.4 使用Puppet Hiera来管理环境
  62. 2.6.5 介绍Hiera
  63. 总结
  64. 第3章 Trident和传感器数据
  65. 3.1 使用场景
  66. 3.2 Trident topology
  67. 3.3 Trident spout
  68. 3.4 Trident运算
  69. 3.4.1 Trident filter
  70. 3.4.2 Trident function
  71. 3.5 Trident聚合器
  72. 3.5.1 CombinerAggregator
  73. 3.5.2 ReducerAggregator
  74. 3.5.3 Aggregator
  75. 3.6 Trident状态
  76. 3.6.1 重复事务型状态
  77. 3.6.2 不透明型状态
  78. 3.7 执行topology
  79. 总结
  80. 第4章 实时趋势分析
  81. 4.1 应用场景
  82. 4.2 体系结构
  83. 4.2.1 数据源应用程序
  84. 4.2.2 logback Kafka appender
  85. 4.2.3 Apache Kafka
  86. 4.2.4 Kafka spout
  87. 4.2.5 XMPP服务器
  88. 4.3 安装需要的软件
  89. 4.3.1 安装Kafka
  90. 4.3.2 安装OpenFire
  91. 4.4 示例程序
  92. 4.5 日志分析topology
  93. 4.5.1 Kafka spout
  94. 4.5.2 JSON project function
  95. 4.5.3 计算移动平均值
  96. 4.5.4 添加一个滑动窗口
  97. 4.5.5 实现滑动平均function
  98. 4.5.6 按照阈值进行过滤
  99. 4.5.7 通过XMPP发送通知
  100. 4.6 最终的topology
  101. 4.7 运行日志分析topology
  102. 总结
  103. 第5章 实时图形分析
  104. 5.1 使用场景
  105. 5.2 体系结构
  106. 5.2.1 Twitter客户端
  107. 5.2.2 Kafka spout
  108. 5.2.3 Titan分布式图形数据库
  109. 5.3 图形数据库简介
  110. 5.3.1 访问图——TinkerPop栈
  111. 5.3.2 使用Blueprints API操作图形
  112. 5.3.3 通过Gremlin shell操作图形
  113. 5.4 软件安装
  114. 5.5 使用Cassandra存储后端设置Titan
  115. 5.5.1 安装Cassandra
  116. 5.5.2 使用Cassandra后端启动Titan
  117. 5.6 图数据模型
  118. 5.7 连接Twitter数据流
  119. 5.7.1 安装Twitter4J客户端
  120. 5.7.2 OAuth配置
  121. 5.7.3 TwitterStreamConsumer类
  122. 5.7.4 TwitterStatusListener类
  123. 5.8 Twitter graph topology
  124. 5.9 实现GraphState
  125. 5.9.1 GraphFactory
  126. 5.9.2 GraphTupleProcessor
  127. 5.9.3 GraphStateFactory
  128. 5.9.4 GraphState
  129. 5.9.5 GraphUpdater
  130. 5.10 实现GraphFactory
  131. 5.11 实现GraphTupleProcessor
  132. 5.12 组合成TwitterGraphTopology类
  133. 5.13 使用Gremlin查询图
  134. 总结
  135. 第6章 人工智能
  136. 6.1 为应用场景进行设计
  137. 6.2 确立体系结构
  138. 6.2.1 审视设计中的挑战
  139. 6.2.2 实现递归
  140. 6.2.3 解决这些挑战
  141. 6.3 实现体系结构
  142. 6.3.1 数据模型
  143. 6.3.2 检视Recursive Topology
  144. 6.3.3 队列交互
  145. 6.3.4 function和filter
  146. 6.3.5 研究Scoring Topology
  147. 6.3.6 分布式远程命令调用(DRPC)
  148. 总结
  149. 第7章 整合Druid进行金融分析
  150. 7.1 使用场景
  151. 7.2 集成一个非事务系统
  152. 7.3 topology
  153. 7.3.1 spout
  154. 7.3.2 filter
  155. 7.3.3 状态设计
  156. 7.4 实现体系结构
  157. 7.4.1 DruidState
  158. 7.4.2 实现StormFirehose对象
  159. 7.4.3 在ZooKeeper中实现分片状态
  160. 7.5 执行实现的程序
  161. 7.6 检视分析过程
  162. 总结
  163. 第8章 自然语言处理
  164. 8.1 Motivating Lambda结构
  165. 8.2 研究使用场景
  166. 8.3 实现Lambda architecture
  167. 8.4 为应用场景设计topology
  168. 8.5 设计的实现
  169. 8.5.1 TwitterSpout/TweetEmitter
  170. 8.5.2 function
  171. 8.6 检视分析逻辑
  172. 8.7 Hadoop
  173. 8.7.1 MapReduce概览
  174. 8.7.2 Druid安装
  175. 总结
  176. 第9章 在Hadoop上部署Storm进行广告分析
  177. 9.1 应用场景
  178. 9.2 确定体系结构
  179. 9.2.1 HDFS简介
  180. 9.2.2 YARN简介
  181. 9.3 配置基础设施
  182. 9.3.1 Hadoop基础设施
  183. 9.3.2 配置HDFS
  184. 9.4 部署分析程序
  185. 9.4.1 以Pig为基础执行批处理分析
  186. 9.4.2 在Storm-YARN基础上执行实时分析
  187. 9.5 执行分析
  188. 9.5.1 执行批处理分析
  189. 9.5.2 执行实时分析
  190. 9.6 部署topology
  191. 9.7 执行toplogy
  192. 总结
  193. 第10章 云环境下的Storm
  194. 10.1 Amazon Elastic Compute Cloud简介
  195. 10.1.1 建立AWS帐号
  196. 10.1.2 AWS管理终端
  197. 10.1.3 手工启动一个EC2实例
  198. 10.2 Apache Whirr简介
  199. 10.3 使用Whirr配置Storm集群
  200. 10.4 Whirr Storm简介
  201. 10.5 Vagrant简介
  202. 10.5.1 安装Vagrant
  203. 10.5.2 创建第一个虚拟机
  204. 10.6 生成Storm安装准备脚本
  205. 10.6.1 ZooKeeper
  206. 10.6.2 Storm
  207. 10.6.3 Supervisord
  208. 总结
载入中