《Storm分布式实时计算模式》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)吉奥兹,(美)奥尼尔著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:9787111484387
  • 页数:252 页
图书介绍:本书由Apache Storm 项目的Committer亲力打造,提供了丰富的Storm实战经验。系统介绍使用Storm进行分布式流式计算的核心概念及应用,从最简单的topology出发,首先介绍Storm基础,然后通过更复杂的示例,逐步引入Storm的高级概念、更细致的部署方案以及运营中的关键点。虽然本书内容重点在Storm 相关的Java开发上,系统运维工程师、架构师和开发者也都可以参考使用。对于Hadoop爱好者也是一本很好的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 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 组合成TwitterGraph Topology类 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