图书介绍
Storm源码分析2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 李明,王晓鹏编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115371263
- 出版时间:2014
- 标注页数:472页
- 文件大小:81MB
- 文件页数:486页
- 主题词:数据处理软件
PDF下载
下载说明
Storm源码分析PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 总体架构与代码结构1
1.1 Storm的总体结构1
1.2 Storm的元数据3
1.2.1 元数据介绍3
1.2.2 Storm怎么使用这些元数据4
1.3 Storm的代码结构7
1.3.1 Clojure代码7
1.3.2 Java代码8
1.3.3 Trident代码9
1.3.4 其他代码10
第2章 搭建Storm集群11
2.1 搭建单机Storm集群11
2.2 搭建多机Storm集群14
2.2.1 设置环境14
2.2.2 启动Storm集群15
2.2.3 提交Topology15
2.3 WordCounTopology介绍15
2.3.1 RandomSentenceSpout15
2.3.2 SplitSentence16
2.3.3 WordCount17
2.3.4 WordCountTopology构建17
第3章 Storm编程基础19
3.1 Fields定义19
3.2 Tuple接口20
3.3 常用声明接口21
3.3.1 配置声明接口22
3.3.2 输入声明接口23
3.3.3 输出字段声明接口24
3.3.4 组件声明接口25
3.4 Spout输出收集器25
3.4.1 ISpoutOutputCollector和SpoutOutputCollector25
3.4.2 Executor中ISpoutOutputCollector的实现27
3.5 Bolt输出收集器28
3.5.1 IOutputCollector和OutputCollector28
3.5.2 IBasicOutputCollector和BasicOutputCollector31
3.5.3 BatchOutputCollector和BatchOutputCollectorImpl32
3.5.4 Executor中的IOutputCollector实现34
3.6 组件接口35
3.7 Spout接口35
3.7.1 ISpout36
3.7.2 IRichSpout38
3.8 Bolt接口38
3.8.1 IBolt38
3.8.2 IRichBolt40
3.8.3 IBasicBolt40
3.8.4 IBatchBolt42
3.8.5 小结45
3.9 Storm数据结构46
3.9.1 GlobalStreamId46
3.9.2 消息分组方式46
3.9.3 StreamInfo47
3.9.4 ShellComponent47
3.9.5 ComponentObject47
3.9.6 ComponentCommon47
3.9.7 SpoutSpec48
3.9.8 Bolt48
3.9.9 StormTopology49
3.9.10 TopologySummary49
3.9.11 SupervisorSummary49
3.9.12 ClusterSummary50
3.9.13 BoltStats50
3.9.14 SpoutStats50
3.9.15 统计信息50
3.9.16 DRPC51
3.10 基本Topology构建器52
3.10.1 TopologyBuilder52
3.10.2 ConfigGetter55
3.10.3 SpoutGetter和BoltGetter55
3.10.4 一个简单例子56
3.11 异常处理57
第4章 基础函数和工具类58
4.1 计时器58
4.1.1 mk-timer58
4.1.2 check-active!60
4.1.3 schedule60
4.1.4 schedule-recurring60
4.1.5 cancel-timer61
4.2 async-loop61
4.3 event-manager62
4.4 even-sampler63
4.5 ZooKeeper工具类64
4.5.1 mk-client64
4.5.2 create-node65
4.5.3 get-data65
4.5.4 进程内启动ZooKeeper66
4 6 LocalState66
4.7 ClusterState68
4.8 StormClusterState69
第5章 通信机制71
5.1 进程间通信71
5.1.1 进程间通信协议71
5.1.2 LocalCluster模式实现72
5.1.3 分布式模式实现73
5.1.4 协议使用75
5.2 进程内通信77
5.2.1 Disruptor Queue的使用77
5.2.2 DisruptorQueue的Clojure处理器80
第6章 Nimbus81
6.1 Nimbus服务接口定义81
6.2 Nimbus相关的数据结构83
6.2.1 Java数据结构83
6.2.2 Clojure数据结构84
6.3 Nimbus中的线程介绍86
6.3.1 mk-assignments87
6.3.2 do-cleanup89
6.3.3 clean-inbox90
6.4 Topology状态转移90
6.4.1 transition-name!90
6.4.2 transition!91
6.4.3 state-transitions92
6.5 启动Nimbus服务96
6.5.1 launch-server!96
6.5.2 service-handler97
6.6 关闭Nimbus服务99
6.7 主要服务方法99
6.7.1 submitTopology99
6.7.2 kill、rebalance、activate、deactivate方法101
6.7.3 文件上传与下载102
6.7.4 获取UI所需的信息104
6.7.5 获取Topology106
6.7.6 获取Storm配置项107
6.8 主要辅助方法107
6.8.1 system-topology!107
6.8.2 normalize-topology112
6.8.3 compute-new-topology->executor->node+port114
6.8.4 compute-executors117
第7章 Scheduler119
7.1 IScheduler接口119
7.2 EvenScheduler120
7.2.1 schedule-topolpgies-evenly120
7.2.2 schedule-topology121
7.2.3 get-alive-assigned-node+port->executors122
7.2.4 sort-slots123
7.3 DefaultScheduler124
7.3.1 default-schedule124
7.3.2 slots-can-reassign126
7.3.3 bad-slots126
7.4 IsolationScheduler127
7.5 调度示例131
7.5.1 EvenScheduler和DefaultScheduler131
7.5.2 IsolationScheduler134
第8章 Scheduler137
8.1 与Supervisor相关的数据结构137
8.1.1 standalone-supervisor137
8.1.2 Supervisor的数据138
8.1.3 本地存储数据139
8.2 Supervisor中的线程140
8.2.1 计时器线程140
8.2.2 同步Nimbus任务的线程140
8.2.3 管理Worker进程的线程143
8.3 启动Supervisor145
8.4 关闭Supervisor147
8.5 重要方法介绍147
8.5.1 launch-worker147
8.5.2 read-allocated-workers150
8.5.3 wait-for-worker-launch151
8.5.4 shutdown-worker152
8.5.5 download-storm-code152
第9章 Worker155
9.1 Worker中的数据155
9.2 Worker中的计时器157
9.2.1 Worker的心跳157
9.2.2 Executor的心跳158
9.2.3 Worker中对ZMQ连接的维护159
9.2.4 从ZooKeeper获取Topology的活跃情况161
9.2.5 小结162
9.3 创建Worker163
9.4 关闭Worker164
9.5 重要辅助方法介绍165
9.5.1 Worker中的接收函数166
9.5.2 Worker中的发送函数167
9.5.3 获取属于Worker的Executor169
9.5.4 创建Executor的接收消息队列和查找表169
9.5.5 下载Topology的配置项以及代码170
9.6 小结171
第10章 Executor172
10.1 Executor的数据172
10.2 Executor的输入和输出174
10.2.1 Executor的输入及处理174
10.2.2 Executor的输出及发送175
10.3 Spout类型的Executor176
10.3.1 准备消息循环的数据176
10.3.2 Spout输入处理函数178
10.3.3 Spout消息发送函数180
10.3.4 Spout对象的初始化181
10.3.5 消息循环182
10.4 Bolt类型的Executor184
10.4.1 准备消息循环的数据184
10.4.2 Bolt输入处理函数184
10.4.3 Bolt的消息发送函数185
10.4.4 Bolt对象的初始化185
10.4.5 消息循环186
10.5 创建Executor187
10.6 辅助函数介绍188
10.6.1 组件的Grouper函数188
10.6.2 带流量控制的错误报告方法193
10.6.3 触发系统Ticks194
10.7 小结196
第11章 Task198
11.1 Task的上下文对象198
11.1.1 TopologyContext198
11.1.2 GeneralTopologyContext199
11.1.3 WorkerTopologyContext200
11.1.4 TopologyContext201
11.2 创建Task数据202
11.3 mk-tasks-fn函数204
11.4 send-unanchored205
11.5 创建Task206
11.6 Storm中传输的消息以及序列化206
第12章 Storm的Ack框架208
12.1 Acker Bolt的实现分析209
12.2 启动消息跟踪211
12.3 消息跟踪212
12.4 Ack机制的例子214
第13章 系统运行统计216
13.1 基础数据结构以及更新算法216
13.1.1 滑动窗口的数据结构216
13.1.2 滑动窗口的回调函数220
13.1.3 滑动窗口集合的类型221
13.2 Storm中的统计信息222
13.2.1 Stats中定义的统计类别222
13.2.2 运行统计的更新223
13.2.3 运行统计的更新时间点223
13.2.4 获取统计数据228
13.3 运行统计的Thrift结构229
第14章 系统运行统计的另一种实现231
14.1 内置统计信息的计算231
14.1.1 MultiCountMetric232
14.1.2 MultiReducedMetric233
14.2 内置统计类型234
14.2.1 Spout类型的内置统计235
14.2.2 Bolt类型的内置统计235
14.3 统计触发消息235
14.3.1 注册统计信息236
14.3.2 触发消息的产生与发送237
14.3.3 处理统计触发消息238
14.4 运行统计收集节点239
14.5 SystemBolt241
第15章 事务Topology的实现243
15.1 事务Topology的实现概述243
15.1.1 事务Topology的类型244
15.1.2 事务Topology的类关系245
15.2 ITransactionalSpout接口246
15.3 协调Spout节点的执行器248
15.3.1 ZooKeeper客户端工具248
15.3.2 协调Spout的执行器255
15.3.3 消息发送Bolt的执行器261
15.4 CoordinatedBolt的实现分析264
15.4.1 TrackingInfo264
15.4.2 CoordinatedOutput-Collector265
15.4.3 CoordinatedBolt中的消息类型267
15.4.4 成员变量以及主要方法分析267
15.5 分区的事务类型271
15.5.1 分区的事务Spout接口271
15.5.2 分区的事务Spout的执行器273
15.6 分区的模糊事务Spout277
15.6.1 分区的模糊事务Spout的接口277
15.6.2 模糊的事务Spout执行器278
15.7 事务Topology的构建器281
15.7.1 构建器的构造函数及成员变量281
15.7.2 设置Bolt对象283
15.7.3 构建Topology284
15.7.4 输入流声明器286
第16章 事务Topology示例288
16.1 例子代码288
16.1.1 分区的事务Spout288
16.1.2 局部计数Bolt的实现291
16.1.3 全局计数Bolt的实现292
16.2 构建Topology293
16.3 事务处理示例295
第17章 Trident的Spout节点298
17.1 ITridentSpout接口298
17.1.1 BatchCoordinator接口299
17.1.2 TridentSpoutCoordinator300
17.1.3 MasterBatchCoordinator301
17.1.4 消息发送节点接口306
17.1.5 消息发送接口的执行器306
17.2 适配IRichSpout接口307
17.3 适配IBatchSpout接口311
17.4 Trident中分区的Spout类型311
17.4.1 分区Spout接口311
17.4.2 分区Spout的执行器313
17.5 模糊事务类型的Spout节点316
17.5.1 模糊事务类型的Spout接口317
17.5.2 模糊事务类型Spout的执行器317
17.6 构建Spout节点320
17.6.1 TridentTopology的newStream调用320
17.6.2 TridentTopology中newDRPCStream调用321
第18章 Trident的存储322
18.1 存储的基本接口322
18.2 MapState接口的实现323
18.2.1 非事务类型的存储324
18.2.2 事务类型的存储325
18.2.3 模糊事务类型存储327
18.3 值的序列化方法329
18.4 数据更新接口330
18.4.1 CombinerValueUpdater330
18.4.2 ReducerValueUpdater331
18.5 存储更新接口331
18.5.1 ReducerAggStateUpdater332
18.5.2 MapReducerAggStateUpdater332
18.5.3 BaseStateUpdater334
18.6 创建存储对象334
第19章 Trident消息336
19.1 ValuePointer336
19.2 Factory接口及其实现337
19.2.1 ProjectionFactory338
19.2.2 FreshOutputFactory339
19.2.3 OperationOutputFactory339
19.2.4 RootFactory341
19.3 消息工厂的例子342
19.4 TridentTupleView342
19.5 ComboList343
第20章 Trident操作与处理节点346
20.1 操作的基本接口346
20.2 Aggregator实现347
20.2.1 GroupedAggregator348
20.2.2 ChainedAggregatorImpl350
20.2.3 SingleEmitAggregator353
20.3 用户接口及其实现355
20.3.1 ReducerAggregator接口及其实现355
20.3.2 CombinerAggregator接口及其实现356
20.4 所有处理节点的上下文357
20.4.1 单个处理节点的上下文358
20.4.2 操作执行的上下文359
20.5 Trident的输出收集器359
20.5.1 FreshCollector359
20.5.2 CaptureCollector360
20.5.3 GroupCollector360
20.5.4 AppendCollector361
20.5.5 AddIdCollector361
20.6 Trident的处理节点362
20.6.1 TridentProcessor接口363
20.6.2 PartitionPersistProcessor363
20.6.3 StateQueryProcessor365
20.7 聚集器的执行367
第21章 Trident流的基本操作370
21.1 流的成员变量和基础方法370
21.1.1 流的成员变量370
21.1.2 流节点名字370
21.1.3 流的映射检查372
21.1.4 添加节点372
21.2 流映射操作373
21.3 流的分组操作374
21.4 流的逐行操作374
21.5 流的分区操作374
21.6 流的单聚集器聚集操作376
21.7 流的多聚集器聚集操作377
21.7.1 ChainedAggregatorDeclarer377
21.7.2 分区上的局部聚集操作379
21.7.3 全局聚集操作379
21.7.4 含有多个聚集器的partitionAggregate操作381
21.8 流的聚集操作382
21.9 流的分区写入操作383
21.10 查询操作384
21.11 流的全局写入操作384
21.12 流的操作与有向图构建384
21.13 分组流385
21.13.1 成员变量385
21.13.2 逐行操作385
21.13.3 分组流的分区聚集操作386
21.13.4 查询操作386
21.13.5 聚集操作386
21.13.6 写入操作387
21.14 利用流操作来构建Topology的例子388
第22章 Trident中流的交互操作392
22.1 基本接口392
22.2 JoinerMultiReducer393
22.2.1 成员变量及构造函数393
22.2.2 execute方法395
22.2.3 complete方法397
22.3 GroupedMultiReducerExecutor397
22.4 MultiReducerProcessor399
22.5 连接操作401
22.6 流合并操作403
第23章 Trident中的Bolt节点404
23.1 SubTopologyBolt404
23.1.1 输入准备404
23.1.2 成员变量405
23.1.3 主要方法406
23.2 Trident中的Bolt执行器409
23.2.1 ITridentBatchBolt接口410
23.2.2 TrackedBatch410
23.2.3 定制的输出收集器412
23.2.4 消息类型414
23.2.5 数据成员分析414
23.2.6 主要成员方法分析416
第24章 Trident的执行优化420
24.1 节点类型420
24.1.1 基本节点类型420
24.1.2 Spout节点422
24.1.3 处理节点422
24.1.4 分区节点423
24.2 执行优化算法426
24.2.1 节点组426
24.2.2 节点组的合并算法427
24.2.3 处理节点组中的分区节点431
24.2.4 节点组以不同的方式收听相同流431
24.2.5 执行优化后的节点组434
24.2.6 计算节点组的并行度434
第25章 Trident与DRPC437
25.1 DRPC服务器438
25.1.1 DRPC服务器的成员变量438
52.1.2 DRPC用户接口及其实现439
25.1.3 DRPC Topology端接口及其实现440
25.1.4 启动DRPC服务器441
25.2 DRPC的客户端442
25.3 DRPC中Spout节点443
25.4 DRPC Spout的执行器446
25.5 completeDRPC操作449
25.6 返回DRPC结果451
第26章 Trident的Topology构建器453
26.1 基本工具函数453
26.1.1 committerBatches453
26.1.2 fleshOutStreamBatchIds453
26.1.3 getOutputStreamBatchGroups454
26.2 TridentTopologyBuilder455
26.2.1 成员变量455
26.2.2 设置Spout节点456
26.2.3 设置Bolt节点458
26.3 一个例子460
第27章 多语言462
27.1 ShellProcess462
27.2 ShellBolt464
27.2.1 成员变量464
27.2.2 读写线程465
27.3 ShellSpout467
第28章 Storm中的配置项469
热门推荐
- 1179038.html
- 3604732.html
- 2489516.html
- 3491915.html
- 641170.html
- 2684347.html
- 2063577.html
- 650252.html
- 2120841.html
- 2491557.html
- http://www.ickdjs.cc/book_1645005.html
- http://www.ickdjs.cc/book_421016.html
- http://www.ickdjs.cc/book_3644962.html
- http://www.ickdjs.cc/book_2486789.html
- http://www.ickdjs.cc/book_435208.html
- http://www.ickdjs.cc/book_3288529.html
- http://www.ickdjs.cc/book_1737377.html
- http://www.ickdjs.cc/book_2539991.html
- http://www.ickdjs.cc/book_927418.html
- http://www.ickdjs.cc/book_307736.html