Storm分布式实时计算模式(Apache Storm 项目核心贡献者亲笔撰写,涵盖多种分布式计算相关主题,是深入理解Storm分布式实时计算的翔实指南)

价格 59.00对比
发货 广东东莞市
销量 暂无
评价 已有 0 条评价
人气 已有 16 人关注
数量
+-
库存100
 
联系方式
加关注0

新图书资料发布

VIP   VIP会员第1年
资料通过认证
保证金未缴纳

内容简介

《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。

目录

译者序
前言
作者简介
第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 Kaf

摘要与插图

目前对信息高时效性、可操作性的需求不断增长,这要求软件系统在更少的时间内能处理更多的数据。随着可连接设备数量不断增加,以及在众多行业领域广泛应用,这种信息需求已无处不在。传统企业的运营系统被迫处理原先只有互联网企业才会遇到的大规模数据。这种重大转变正不断瓦解传统架构和解决方案,传统上会将在线事务处理和离线分析分割开来。与此同时,人们正在重新勾勒从数据中提取信息的意义和价值。软件框架和基础设施也在不断进化,以适应这种新场景。
具体地说,数据的生成可以看作一连串发生的离散事件,这些事件流会伴随着不同的数据流、操作和分析,都会由一个通用的软件框架和基础设施来处理。
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来实现这个功能,这
举报收藏 0
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2021111040号