您好,欢迎光临有路网!
Storm分布式实时计算模式
QQ咨询:
有路璐璐:

Storm分布式实时计算模式

  • 作者:机械工业出版社
  • 出版社:机械工业出版社
  • ISBN:9787111484387
  • 出版日期:2014年12月01日
  • 页数:268
  • 定价:¥59.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    《Storm分布式实时计算模式》全书分为10章:第1章介绍使用Storm建立一个分布式流式计算应用所涉及的核心概念,包括Storm的数据结构、开发环境的搭建,以及Storm程序的开发和调试技术等;第2章详细讲解Storm集群环境的安装和搭建,以及如何将topology部署到分布式环境中;第3章通过传感器数据实例详细介绍Trident topology;T第4章讲解如何使用Storm和Trident进行实时趋势分析;第5章介绍如何使用Storm进行图形分析,将数据持久化存储在图形数据库中,并且查询数据来发现其中潜在的联系;;第6章讲解如何在Storm上使用递归实现一个典型的人工智能算法;第7章演示集成Storm和非事务型系统的复杂性,通过集成Strom和开源探索性分析架构Druid,实现一个可配置的实时系统来分析金融事件。第8章探讨Lambda体系结构的实现方法,讲解如何将批处理机制和实时处理引擎结合起来构建一个可纠错的分析系统;第9章 讲解如何将Pig脚本转化为topology并且使用Storm-YARN部署topology,将批处理系统转化为实时系统;第10章 介绍如何在云服务提供商
    文章节选
    目前对信息高时效性、可操作性的需求不断增长,这要求软件系统在更少的时间内能处理更多的数据。随着可连接设备数量不断增加,以及在众多行业领域广泛应用,这种信息需求已无处不在。传统企业的运营系统被迫处理原先只有互联网企业才会遇到的大规模数据。这种重大转变正不断瓦解传统架构和解决方案,传统上会将在线事务处理和离线分析分割开来。与此同时,人们正在重新勾勒从数据中提取信息的意义和价值。软件框架和基础设施也在不断进化,以适应这种新场景。
    具体地说,数据的生成可以看作一连串发生的离散事件,这些事件流会伴随着不同的数据流、操作和分析,都会由一个通用的软件框架和基础设施来处理。
    Storm正是*流行的实时流计算框架之一,它提供了可��错分布式计算所要求的基本原语和保障机制,可以满足大容量关键业务应用的需求。它不但是一套技术的整合,也是一种数据流和控制的机制。很多大公司都将Storm作为大数据处理平台的核心部分。
    尝试使用本书中介绍的设计模式,你将学到开发、部署、运营数据处理的流程,它具有每天或者每小时处理上亿次事务的能力。
    本书介绍了多种分布式计算相关的主题,包括设计和集成的模式,还介绍了这些技术常见的适用领域和具体应用。本书通过实际示例,从*简单的topology出发,首先向用户介绍了Storm基础,然后通过更复杂的示例,逐步引入Storm的**概念、更细致的部署方案以及运营中需要关注的事项。
    主要内容
    第1章介绍了使用Storm进行分布式流式计算的核心概念。分布式单词计数这个例子中展示的数据结构、技术和设计模式都是后续进行更复杂计算的基础。在该章中,我们会对Storm计算架构有一个基本了解。还将学会搭建Storm开发环境,了解开发和调试Storm应用的技术。
    第2章进一步介绍Storm技术架构和安装部署Storm集群的过程。在该章中,我们会通过配置工具Puppet来自动化安装和部署一个多节点Storm集群。
    第3章主要介绍Trident topology。Trident在Storm基础之上提供了**抽象,抽象了事务处理和状态管理的细节。该章使用Trident框架处理、聚合、过滤来自传感器的数据,以检测传染病是否爆发。
    第4章介绍使用Storm和Trident进行实时趋势分析。实时趋势分析引入了在数据流中进行识别的模式。在该章中,你将会整合Apache Kafka队列并且通过实现一个滑动窗口来计算移动平均数。
    第5章介绍了使用Storm进行基于图的数据分析,首先将数据持久化到图形数据库,再通过查询数据来发现关系。图形数据库将数据按照顶点、边、属性的图形结构进行存储,聚焦于实体间的关系。在该章中,我们将Strom和一种流行的图形数据库Titan进行整合,使用Twitter作为数据源。
    第6章介绍在Storm上使用递归实现一个典型的人工智能算法。该章展现了Strom的局限性,并检视设计模式来适应这些局限。通过分布式远程调用(Distributed Remote Procedure Call, DRPC),你会实现一个提供同步查询服务的Storm topology,用来决定井字棋游戏下一步怎样走*好。
    第7章演示整合Storm和非事务型系统的复杂性。为了支持这种整合,介绍一种通过ZooKeeper进行分布式状态管理的设计模式。该章通过整合Strom和开源探索性分析架构Druid,实现一个可配置的实时系统来分析金融事件。
    第8章介绍Lambda系统架构的概念,结合实时系统和批处理来构建一个可纠错的分析系统。在第7章的基础上,你将会融入Hadoop的基础设施并且检视如何使用一个MapReduce job对Druid中可能出现的主机故障事件进行纠错。
    第9章演示将一个Hadoop上运行的Pig语言编写的批处理job转化为一个实时的Storm topology。你可以利用Storm-YARN来实现这个功能,这个工具可以使用户使用YARN来部署和运行Storm集群。在Hadoop上运行Storm系统,企业可以在同一套基础设施上同时运行与利用实时和批处理系统。
    第10章提供了在云环境下运行和部署Storm系统的*佳实践。详细地说,你可利用一套为云计算服务的库Apache Whirr,在Amazon Web Services(AWS)Elastic Compute Cloud(EC2)上部署和配置Storm及其相关的支撑组件。此外,你还可以利用Vagrant工具在虚拟机环境下建立开发和测试的集群环境。
    预备知识
    本书中用到的软件如下表所示。
    章 节 需要的软件
    1 Storm (0.9.1)
    2 ZooKeeper (3.3.5)
    Java (1.7)
    Puppet (3.4.3)
    Hiera (1.3.1)
    3 Trident (配套Storm 0.9.1)
    4 Kafka (0.7.2)
    OpenFire (3.9.1)
    5 Twitter4J (3.0.3)
    Titan (0.3.2)
    Cassandra (1.2.9)
    6 无*新软件
    7 MySQL (5.6.15)
    Druid (0.5.58)
    8 Hadoop (0.20.2)
    9 Storm-YARN (1.0-alpha)
    Hadoop (2.1.0-beta)
    10 Whirr (0.8.2)
    Vagrant (1.4.3)
    面向的读者
    初学者和**用户都可以从本书获益。本书在真实示例的基础上,描述了多种实用的分布式计算模式。书中介绍了Storm和Trident的核心原语,以及成功部署和运营系统的关键技术。
    虽然本书主要讲述Storm相关的Java开发,但其中的设计模式同样适用于其他编程语言。书中的小窍门、技术和实现方法对架构师、开发人员和运维人员都具有参考价值。
    Hadoop爱好者会发现,这是一本很好的Storm入门书籍,书中举例说明这两种系统如何优势互补,提供了将批处理运算迁移到实时分析的一种**途径。
    本书提供了Storm应用于多个问题和行业的具体示例,这些例子应该能够在其他领域中举一反三,解决在有限时间内处理大量数据的问题。同时,解决方案设计师、商业分析师也能从本书介绍的高层系统架构和技术中获益。
    读者反馈
    我们随时欢迎您的反馈。如果您有任何喜欢或者不喜欢本书的地方,都请告知我们,这将促使我们优化读者*关心的内容。若有反馈,可发送邮件到feedbak@packtpub.com,邮件标题中请包含本书名。
    如果您是某一领域方面的专家,并且有兴趣写一本或者参与一本书,请参考作者指南www.packtpub.com/authors。
    用户支持
    对于购买了Packet出版社书籍的读者,我们有多种途径帮助你*大限度的利用本书。
    下载示例代码
    可以在http://www.packetpub.com下载到通过packet账户购买的所有书籍的示例代码。如果你通过其他途径购买这本书,可以访问http://www.packetpub.com/support,通过邮箱注册,然后示例代码会通过邮箱发送。
    勘误表
    尽管我们已经非常用心确保书籍内容的准确性,仍然有错误可能发生。如果您发现书中的任何错误(可能是错字或者代码错误)请将错误报告给我们,不胜感激。这样会避免其他用户对同样的错误造成困惑,有助于我们在后续版本不断完善这本书。勘误报告请在http://www.packtpub.com/submit-errata进行上报,先选取本书,点击errata submission form链接,然后填入详细的勘误信息即可。勘误内容经确认后就会上传到网站上,或者添加到书籍当前的勘误表中。当前已知的刊物内容可以通过访问http://www.packtpub.com/support进行查看。
    盗版
    互联网上的盗版行为是所有出版媒体共同面临的问题。Packt出版社采取严厉措施来保护在版权和许可。如果你偶然发现互联网上Packt出版社的任何作品,任何形式的非法拷贝,请您立刻提供网址和站点名称以便我们追责。请通过copyright@packtpub.com联系我们提供有盗版嫌疑连接。我们非常感谢这种保护作者和出版社权益的帮助,这将有利于提供更有价值的作品。
    问题
    如果您对本书有任何疑问,可以通过questions@packtpub.com联系我们,我们会尽力解答。
    目录
    译者序
    前言
    作者简介
    第1章 分布式单词计数 1
    1.1 Storm topology的组成部分——stream、spout和bolt 1
    1.1.1 stream 2
    1.1.2 spout 2
    1.1.3 bolt 2
    1.2 单词计数topology的数据流 3
    1.2.1 语句生成spout 3
    1.2.2 语句分割bolt 3
    1.2.3 单词计数bolt 4
    1.2.4 上报bolt 4
    1.3 实现单词计数topology 4
    1.3.1 配置开发环境 4
    1.3.2 实现SentenceSpout 5
    1.3.3 实现语句分割bolt 6
    1.3.4 实现单词计数bolt 7
    1.3.5 实现上报bolt 8
    1.3.6 实现单词计数topology 10
    1.4 Storm的并发机制 12
    1.4.1 WordCountTopology的并发机制 13
    1.4.2 给topology增加worker 14
    1.4.3 配置executor和task 14
    1.5 理解数据流分组 17
    1.6 有保障机制的数据处理 20
    1.6.1 spout的可靠性 20
    1.6.2 bolt的可靠性 21
    1.6.3 可靠的单词计数 22
    总结 23
    第2章 配置Storm集群 24
    2.1 Storm集群的框架 24
    2.1.1 理解nimbus守护进程 25
    2.1.2 supervisor守护进程的工作方式 26
    2.1.3 Apache ZooKeeper简介 26
    2.1.4 Storm的DRPC服务工作机制 27
    2.1.5 Storm UI 27
    2.2 Storm技术栈简介 28
    2.2.1 Java和Clojure 28
    2.2.2 Python 29
    2.3 在Linux上安装Storm 29
    2.3.1 安装基础操作系统 30
    2.3.2 安装Java 30
    2.3.3 安装ZooKeeper 30
    2.3.4 安装Storm 30
    2.3.5 运行Storm守护进程 31
    2.3.6 配置Storm 33
    2.3.7 必需的配置项 34
    2.3.8 可选配置项 35
    2.3.9 Storm可执行程序 36
    2.3.10 在工作站上安装Storm可执行程序 36
    2.3.11 守护进程命令 37
    2.3.12 管理命令 37
    2.3.13 本地调试/开发命令 39
    2.4 把toplogy提交到集群中 40
    2.5 自动化集群配置 42
    2.6 Puppet的快速入门 43
    2.6.1 Puppet manifest文件 43
    2.6.2 Puppet类和模块 44
    2.6.3 Puppet模板 45
    2.6.4 使用Puppet Hiera来管理环境 46
    2.6.5 介绍Hiera 46
    总结 48
    第3章 Trident和传感器数据 49
    3.1 使用场景 50
    3.2 Trident topology 50
    3.3 Trident spout 52
    3.4 Trident运算 57
    3.4.1 Trident filter 58
    3.4.2 Trident function 59
    3.5 Trident聚合器 63
    3.5.1 CombinerAggregator 63
    3.5.2 ReducerAggregator 63
    3.5.3 Aggregator 64
    3.6 Trident状态 65
    3.6.1 重复事务型状态 69
    3.6.2 不透明型状态 70
    3.7 执行topology 72
    总结 73
    第4章 实时趋势分析 74
    4.1 应用场景 75
    4.2 体系结构 75
    4.2.1 数据源应用程序 75
    4.2.2 logback Kafka appender 76
    4.2.3 Apache Kafka 76
    4.2.4 Kafka spout 76
    4.2.5 XMPP服务器 76
    4.3 安装需要的软件 77
    4.3.1 安装Kafka 77
    4.3.2 安装OpenFire 78
    4.4 示例程序 78
    4.5 日志分析topology 84
    4.5.1 Kafka spout 84
    4.5.2 JSON project function 85
    4.5.3 计算移动平均值 86
    4.5.4 添加一个滑动窗口 87
    4.5.5 实现滑动平均function 91
    4.5.6 按照阈值进行过滤 92
    4.5.7 通过XMPP发送通知 94
    4.6 *终的topology 96
    4.7 运行日志分析topology 98
    总结 99
    第5章 实时图形分析 100
    5.1 使用场景 101
    5.2 体系结构 102
    5.2.1 Twitter客户端 102
    5.2.2 Kafka spout 102
    5.2.3 Titan分布式图形数据库 103
    5.3 图形数据库简介 103
    5.3.1 访问图——TinkerPop栈 104
    5.3.2 使用Blueprints API操作图形 105
    5.3.3 通过Gremlin shell操作图形 106
    5.4 软件安装 107
    5.5 使用Cassandra存储后端设置Titan 109
    5.5.1 安装Cassandra 109
    5.5.2 使用Cassandra后端启动Titan 109
    5.6 图数据模型 110
    5.7 连接Twitter数据流 111
    5.7.1 安装Twitter4J客户端 112
    5.7.2 OAuth配置 112
    5.7.3 TwitterStreamConsumer类 112
    5.7.4 TwitterStatusListener类 113
    5.8 Twitter graph topology 115
    5.9 实现GraphState 116
    5.9.1 GraphFactory 117
    5.9.2 GraphTupleProcessor 117
    5.9.3 GraphStateFactory 117
    5.9.4 GraphState 118
    5.9.5 GraphUpdater 119
    5.10 实现GraphFactory 119
    5.11 实现GraphTupleProcessor 120
    5.12 组合成TwitterGraphTopology类 121
    5.13 使用Gremlin查询图 122
    总结 123
    第6章 人工智能 124
    6.1 为应用场景进行设计 125
    6.2 确立体系结构 128
    6.2.1 审视设计中的挑战 128
    6.2.2 实现递归 128
    6.2.3 解决这些挑战 132
    6.3 实现体系结构 133
    6.3.1 数据模型 133
    6.3.2 检视Recursive Topology 136
    6.3.3 队列交互 138
    6.3.4 function和filter 140
    6.3.5 研究Scoring Topology 141
    6.3.6 分布式远程命令调用(DRPC) 146
    总结 152
    第7章 整合Druid进行金融分析 153
    7.1 使用场景 154
    7.2 集成一个非事务系统 155
    7.3 topology 158
    7.3.1 spout 159
    7.3.2 filter 161
    7.3.3 状态设计 162
    7.4 实现体系结构 165
    7.4.1 DruidState 166
    7.4.2 实现StormFirehose对象 169
    7.4.3 在ZooKeeper中实现分片状态 174
    7.5 执行实现的程序 175
    7.6 检视分析过程 176
    总结 179
    第8章 自然语言处理 180
    8.1 Motivating Lambda结构 181
    8.2 研究使用场景 183
    8.3 实现Lambda architecture 184
    8.4 为应用场景设计topology 185
    8.5 设计的实现 186
    8.5.1 TwitterSpout/TweetEmitter 187
    8.5.2 function 188
    8.6 检视分析逻辑 191
    8.7 Hadoop 196
    8.7.1 MapReduce概览 196
    8.7.2 Druid安装 197
    总结 204
    第9章 在Hadoop上部署Storm进行广告分析 205
    9.1 应用场景 205
    9.2 确定体系结构 206
    9.2.1 HDFS简介 208
    9.2.2 YARN简介 208
    9.3 配置基础设施 211
    9.3.1 Hadoop基础设施 211
    9.3.2 配置HDFS 212
    9.4 部署分析程序 217
    9.4.1 以Pig为基础执行批处理分析 217
    9.4.2 在Storm-YARN基础上执行实时分析 218
    9.5 执行分析 223
    9.5.1 执行批处理分析 223
    9.5.2 执行实时分析 224
    9.6 部署topology 229
    9.7 执行toplogy 229
    总结 230
    第10章 云环境下的Storm 231
    10.1 Amazon Elastic Compute Cloud简介 232
    10.1.1 建立AWS帐号 232
    10.1.2 AWS管理终端 232
    10.1.3 手工启动一个EC2实例 234
    10.2 Apache Whirr简介 236
    10.3 使用Whirr配置Storm集群 237
    10.4 Whirr Storm简介 239
    10.5 Vagrant简介 243
    10.5.1 安装Vagrant 243
    10.5.2 创建**个虚拟机 244
    10.6 生成Storm安装准备脚本 247
    10.6.1 ZooKeeper 247
    10.6.2 Storm 248
    10.6.3 Supervisord 249
    总结 252
    编辑推荐语
    《Storm分布式实时计算模式》Apache Storm 项目核心贡献者亲笔撰写,涵盖多种分布式计算相关主题,是深入理解Storm分布式实时计算的翔实指南。
    《Storm分布式实时计算模式》通过大量的示例,全面而系统地讲解Storm分布式实时计算的核心概念及应用,并针对不同的应用场景,给出多种基于Storm的设计模式,而且提供示例源码,便于读者参考设计并实现自己的Storm应用。

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外